protected VirtualMachineScaleSet GetPrimaryVmss(Cluster cluster, string nodeTypeName)
        {
            NodeTypeDescription primaryNodeType = GetPrimaryNodeType(cluster, nodeTypeName);
            var vmss = GetPrimaryVmss(cluster, primaryNodeType);

            return(vmss);
        }
示例#2
0
 public static Entry For(NodeTypeDescription ntd)
 {
     if (ntd == null)
     {
         return(new NullEntry());
     }
     else
     {
         ObjectEntry entry = new ObjectEntry();
         entry.Add("TypeDefinitionNode", For(ntd.TypeDefinitionNode));
         entry.Add("IncludeSubTypes", For(ntd.IncludeSubTypes));
         entry.Add("DataToReturn", For(ntd.DataToReturn));
         return(entry);
     }
 }
示例#3
0
 internal static NodeTypeDescriptionGA ReadFromInternal(NodeTypeDescription nodeTypeDesc)
 {
     return(new NodeTypeDescriptionGA
     {
         Name = nodeTypeDesc.Name,
         PlacementProperties = nodeTypeDesc.PlacementProperties,
         Capacities = nodeTypeDesc.Capacities,
         ClientConnectionEndpointPort = nodeTypeDesc.ClientConnectionEndpointPort,
         HttpGatewayEndpointPort = nodeTypeDesc.HttpGatewayEndpointPort,
         ApplicationPorts = nodeTypeDesc.ApplicationPorts,
         EphemeralPorts = nodeTypeDesc.EphemeralPorts,
         ReverseProxyEndpointPort = nodeTypeDesc.HttpApplicationGatewayEndpointPort,
         LeaseDriverEndpointPort = nodeTypeDesc.LeaseDriverEndpointPort,
         ClusterConnectionEndpointPort = nodeTypeDesc.ClusterConnectionEndpointPort,
         ServiceConnectionEndpointPort = nodeTypeDesc.ServiceConnectionEndpointPort,
         KtlLogger = nodeTypeDesc.KtlLogger,
         IsPrimary = nodeTypeDesc.IsPrimary,
     });
 }
        protected NodeTypeDescription GetNodeType(Cluster cluster, string nodeTypeName, bool ignoreErrors = false)
        {
            NodeTypeDescription nodeType =
                cluster.NodeTypes.SingleOrDefault(
                    n =>
                    string.Equals(
                        nodeTypeName,
                        n.Name,
                        StringComparison.OrdinalIgnoreCase));

            if (nodeType == null && !ignoreErrors)
            {
                throw new PSInvalidOperationException(
                          string.Format(
                              ServiceFabricProperties.Resources.CannotFindTheNodeType,
                              nodeTypeName));
            }

            return(nodeType);
        }
示例#5
0
        internal static NodeTypeDescription CreateNodeType(string nodeTypeName, int vmInstanceCount, bool isPrimary = false, DurabilityLevel durabilityLevel = DurabilityLevel.Bronze)
        {
            NodeTypeDescription nodeType = new NodeTypeDescription();

            nodeType.Name      = nodeTypeName;
            nodeType.IsPrimary = isPrimary;
            nodeType.ClientConnectionEndpointPort       = 19000;
            nodeType.HttpApplicationGatewayEndpointPort = 19080;
            nodeType.ApplicationPorts = new EndpointRangeDescription()
            {
                StartPort = 20000, EndPort = 30000
            };
            nodeType.EphemeralPorts = new EndpointRangeDescription()
            {
                StartPort = 49100, EndPort = 65500
            };
            nodeType.VMInstanceCount = vmInstanceCount;
            nodeType.DurabilityLevel = durabilityLevel;

            return(nodeType);
        }
示例#6
0
        internal virtual NodeTypeDescription ConvertToInternal()
        {
            NodeTypeDescription nodeTypeDesc = new NodeTypeDescription()
            {
                Name = this.Name,
                PlacementProperties                = this.PlacementProperties,
                Capacities                         = this.Capacities,
                ClientConnectionEndpointPort       = this.ClientConnectionEndpointPort,
                HttpGatewayEndpointPort            = this.HttpGatewayEndpointPort,
                ApplicationPorts                   = this.ApplicationPorts,
                EphemeralPorts                     = this.EphemeralPorts,
                HttpApplicationGatewayEndpointPort = this.ReverseProxyEndpointPort,
                LeaseDriverEndpointPort            = this.LeaseDriverEndpointPort,
                ClusterConnectionEndpointPort      = this.ClusterConnectionEndpointPort,
                ServiceConnectionEndpointPort      = this.ServiceConnectionEndpointPort,
                KtlLogger = this.KtlLogger,
                IsPrimary = this.IsPrimary
            };

            return(nodeTypeDesc);
        }
示例#7
0
        private static void QueryFirstCall(Session session)
        {
            ViewDescription vd = new ViewDescription();

            vd.ViewId      = 5000;
            vd.ViewVersion = 0;
            NodeTypeDescriptionCollection nt  = new NodeTypeDescriptionCollection();
            NodeTypeDescription           ntd = new NodeTypeDescription();

            ExpandedNodeId enid = new ExpandedNodeId("ns=3;s=AirConditioner_1");

            ntd.TypeDefinitionNode = enid;
            nt.Add(ntd);

            ContentFilterElement           cfe  = new ContentFilterElement();
            ContentFilterElementCollection cfec = new ContentFilterElementCollection();


            cfec.Add(cfe);
            ContentFilter cf = new ContentFilter();

            cf.Elements = cfec;

            QueryDataSetCollection qdsc = new QueryDataSetCollection();

            byte[] cp = new byte[100];
            ParsingResultCollection  prc = new ParsingResultCollection();
            DiagnosticInfoCollection dic = new DiagnosticInfoCollection();
            ContentFilterResult      cfr = new ContentFilterResult();

            try
            {
                var rs = session.QueryFirst(null, vd, nt, cf, 1000, 1000, out qdsc, out cp, out prc, out dic, out cfr);
            }
            catch (Exception eX)
            {
                Console.WriteLine("EXCEPTION:  QueryFirst  :  {0}", eX.Message);
            }
        }
        protected VirtualMachineScaleSet GetPrimaryVmss(Cluster cluster, NodeTypeDescription primaryNodeType)
        {
            var vmss = GetVmss(primaryNodeType.Name, cluster.ClusterId);

            return(vmss);
        }
        private ClusterManifestTypeNodeType GetCMNodeTypeFromNodeDescription(NodeTypeDescription nodeTypeDescription)
        {
            var nodeType = nodeTypeDescription.ToClusterManifestTypeNodeType();

            var defaultPlacementProperty = new KeyValuePairType()
            {
                Name  = StringConstants.DefaultPlacementConstraintsKey,
                Value = nodeType.Name
            };

            if (nodeType.PlacementProperties == null)
            {
                nodeType.PlacementProperties = new[] { defaultPlacementProperty };
            }
            else
            {
                var existingPlacementProperties = nodeType.PlacementProperties.ToList();
                existingPlacementProperties.Add(defaultPlacementProperty);
                nodeType.PlacementProperties = existingPlacementProperties.ToArray();
            }

            nodeType.Endpoints.ClusterConnectionEndpoint = new InternalEndpointType()
            {
                Port     = nodeTypeDescription.ClusterConnectionEndpointPort.ToString(),
                Protocol = InternalEndpointTypeProtocol.tcp
            };

            nodeType.Endpoints.LeaseDriverEndpoint = new InternalEndpointType()
            {
                Port     = nodeTypeDescription.LeaseDriverEndpointPort.ToString(),
                Protocol = InternalEndpointTypeProtocol.tcp
            };

            nodeType.Endpoints.ServiceConnectionEndpoint = new InternalEndpointType()
            {
                Port     = nodeTypeDescription.ServiceConnectionEndpointPort.ToString(),
                Protocol = InternalEndpointTypeProtocol.tcp
            };

            nodeType.Endpoints.ApplicationEndpoints = new FabricEndpointsTypeApplicationEndpoints()
            {
                StartPort = nodeTypeDescription.ApplicationPorts.StartPort,
                EndPort   = nodeTypeDescription.ApplicationPorts.EndPort
            };

            if (nodeTypeDescription.EphemeralPorts != null)
            {
                nodeType.Endpoints.EphemeralEndpoints = new FabricEndpointsTypeEphemeralEndpoints()
                {
                    StartPort = nodeTypeDescription.EphemeralPorts.StartPort,
                    EndPort   = nodeTypeDescription.EphemeralPorts.EndPort
                };
            }

            if (nodeTypeDescription.KtlLogger != null)
            {
                nodeType.KtlLoggerSettings = nodeTypeDescription.KtlLogger.ToFabricKtlLoggerSettingsType();
            }

            return(nodeType);
        }