Exemple #1
0
        protected override async Task OnCloseAsync(CancellationToken cancellationToken)
        {
            var deleteApplicationDescription = new DeleteApplicationDescription(applicationPath);
            await fabricClient.ApplicationManager.DeleteApplicationAsync(deleteApplicationDescription);

            await base.OnCloseAsync(cancellationToken);
        }
        public DeleteApplicationRequest(IFabricClient fabricClient, DeleteApplicationDescription deleteApplicationDescription, TimeSpan timeout)
            : base(fabricClient, timeout)
        {
            ThrowIf.Null(deleteApplicationDescription, "deleteApplicationDescription");

            this.DeleteApplicationDescription = deleteApplicationDescription;
            this.ConfigureErrorCodes();
        }
        public void DeleteApplicationDescriptionSerializationTest()
        {
            Uri applicationName = new Uri("fabric:/" + "testApp" + this.random.CreateRandom <string>());
            DeleteApplicationDescription deleteApplicationDescription = new DeleteApplicationDescription(applicationName)
            {
                ForceDelete = this.random.CreateRandom <bool>()
            };

            TestUsingSerializer(this.Serializer, deleteApplicationDescription);
        }
        public async Task ExecuteAsync(RestartApplication command, CancellationToken cancellationToken)
        {
            var types = await _fabricClient.QueryManager.GetApplicationTypeListAsync(command.ApplicationType);

            if (types?.Any() ?? false)
            {
                var applications = await _fabricClient.QueryManager.GetApplicationListAsync(command.ApplicationUri);

                if (applications?.Any() ?? false)
                {
                    DeleteApplicationDescription delete = new DeleteApplicationDescription(command.ApplicationUri);
                    await _fabricClient.ApplicationManager.DeleteApplicationAsync(delete);
                }

                ApplicationDescription applicationDescription = new ApplicationDescription(command.ApplicationUri, command.ApplicationType, command.ApplicationVersion);
                await _fabricClient.ApplicationManager.CreateApplicationAsync(applicationDescription);
            }
            else
            {
                throw new ArgumentException($"Application type '{command.ApplicationType}' not deployed to the cluster.");
            }
        }
        public async Task GivenTheServiceFabricApplicationInstanceExists(string applicationName, string applicationTypeName)
        {
            var types = await _fabricClient.QueryManager.GetApplicationTypeListAsync(applicationTypeName);

            if (types?.Any() ?? false)
            {
                var applicationUri = new Uri(applicationName);
                var applications   = await _fabricClient.QueryManager.GetApplicationListAsync(applicationUri);

                if (applications?.Any() ?? false)
                {
                    DeleteApplicationDescription delete = new DeleteApplicationDescription(applicationUri);
                    await _fabricClient.ApplicationManager.DeleteApplicationAsync(delete);
                }

                ApplicationDescription applicationDescription = new ApplicationDescription(applicationUri, applicationTypeName, _applicationTypeVersion);
                await _fabricClient.ApplicationManager.CreateApplicationAsync(applicationDescription);
            }
            else
            {
                throw new ArgumentException($"Application type '{applicationTypeName}' not deployed to the cluster.");
            }
        }
Exemple #6
0
        protected void RemoveApplicationInstance(DeleteApplicationDescription deleteDescription)
        {
            var clusterConnection = this.GetClusterConnection();

            try
            {
                clusterConnection.DeleteApplicationAsync(
                    deleteDescription,
                    this.GetTimeout(),
                    this.GetCancellationToken()).Wait();
                this.WriteObject(StringResources.Info_RemoveApplicationInstanceSucceeded);
            }
            catch (AggregateException aggregateException)
            {
                aggregateException.Handle((ae) =>
                {
                    this.ThrowTerminatingError(
                        ae,
                        Constants.RemoveApplicationInstanceErrorId,
                        clusterConnection);
                    return(true);
                });
            }
        }
        static async Task Reset()
        {
            WriteConsole("Resetting test...");
            FabricClient client = new FabricClient();
            var          types  = await client.QueryManager.GetApplicationTypeListAsync(NoOpApplicationTypeName);

            if (types?.Any() ?? false)
            {
                var applications = await client.QueryManager.GetApplicationListAsync(NoOpApplicationName);

                if (applications?.Any() ?? false)
                {
                    DeleteApplicationDescription delete = new DeleteApplicationDescription(NoOpApplicationName);
                    await client.ApplicationManager.DeleteApplicationAsync(delete);
                }

                ApplicationDescription applicationDescription = new ApplicationDescription(NoOpApplicationName, NoOpApplicationTypeName, NoOpApplicationVersion);
                await client.ApplicationManager.CreateApplicationAsync(applicationDescription);
            }
            else
            {
                throw new ArgumentException($"Application type '{NoOpApplicationTypeName}' not deployed to the cluster.");
            }
        }