Пример #1
0
        internal IImageStore CreateImageStore(string imageStoreConnectionString, string workingDirectory)
        {
            if (!imageStoreConnectionString.StartsWith(Constants.ImageStoreConnectionFileType, StringComparison.OrdinalIgnoreCase) &&
                !imageStoreConnectionString.StartsWith(Constants.ImageStoreConnectionXStoreType, StringComparison.OrdinalIgnoreCase) &&
                !imageStoreConnectionString.StartsWith(Constants.ImageStoreConnectionFabricType, StringComparison.OrdinalIgnoreCase))
            {
                throw new ArgumentException(StringResources.Error_InvalidImageStoreConnectionString);
            }

            SecurityCredentials credentials = null;

            string[] connectionEndpoints = null;
            var      clusterConnection   = this.GetClusterConnection();

            if (clusterConnection != null)
            {
                credentials         = clusterConnection.SecurityCredentials;
                connectionEndpoints = clusterConnection.ConnectionEndpoint;
            }

            return(ImageStoreFactory.CreateImageStore(
                       imageStoreConnectionString,
                       null,
                       connectionEndpoints,
                       credentials,
                       workingDirectory,
                       false /*isInternal*/));
        }
        private bool CompareFileImageStoreConnectionString(string oldImageStoreConntionString, string newImageStoreConntionString)
        {
            try
            {
                string oldRootUri, oldAccountName, oldAccountPassword;
                bool   oldIsManagedServiceAccount;
                ImageStoreFactory.ParseFileImageStoreConnectionString(oldImageStoreConntionString, out oldRootUri, out oldAccountName, out oldAccountPassword, out oldIsManagedServiceAccount);
                string newRootUri, newAccountName, newAccountPassword;
                bool   newIsManagedServiceAccount;
                ImageStoreFactory.ParseFileImageStoreConnectionString(newImageStoreConntionString, out newRootUri, out newAccountName, out newAccountPassword, out newIsManagedServiceAccount);

                if (!oldRootUri.Equals(newRootUri, StringComparison.InvariantCultureIgnoreCase))
                {
                    WriteError("the old root uri {0} does not match the new one {1}", oldRootUri, newRootUri);
                    return(false);
                }

                return(true);
            }
            catch (ArgumentException ae)
            {
                WriteError(ae.Message);
                return(false);
            }
        }
Пример #3
0
        internal static IImageStore CreateImageStore(
            string imageStoreUri,
            string localRoot,
            string[] connectionStrings,
            SecurityCredentials credentials,
            string workingDirectory,
            bool isInternal)
        {
            if (imageStoreUri == null)
            {
                throw new ArgumentException(StringResources.Error_InvalidImageStoreConnectionString);
            }

            if (XStoreImageStore.IsXStoreUri(imageStoreUri))
            {
                return(new XStoreImageStore(imageStoreUri, localRoot));
            }
            else
            {
                return(ImageStoreFactory.CreateImageStore(imageStoreUri, localRoot, connectionStrings, credentials, workingDirectory, isInternal));
            }
        }