Git Product home page Git Product logo

alteryx-deploy's People

Contributors

akaizoku avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

alteryx-deploy's Issues

Cannot validate argument on parameter 'Serial'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.

Issue

When no value is specified for the property LicenseEmail, the installation process will fail with the following error message:

Cannot validate argument on parameter 'Serial'. The argument is null or empty. Provide an argument that is not null or empty, and
then try the command again.

Description

The installation of Alteryx is performed by the function Install-AlteryxServer which takes the email address of the person installing the software as input parameter (Serial). This value is not required but cannot be null if specified.

The default behaviour of Install-Alteryx is to pass to this function the property LicenseEmail read from the script configuration files. When this value is not specified, it is initialised as a null value and thus generates a parameter validation error.

Error message

Install-Alteryx : Cannot validate argument on parameter 'Serial'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
At D:\Scripts\alteryx-deploy\Deploy-Alteryx.ps1:247 char:27
+ ... ll"       { Install-Alteryx           -Properties $Properties -Instal ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Install-Alteryx], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Install-Alteryx

Solution

In order to prevent this issue from happening, the property LicenseEmail must be specified in the custom script configuration file (custom.ini).

Enforce SSL configuration

Enhancement

Enable SSL by default with provided certificate, or generate new self-signed certificate.

Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.

Issue

When no email address is specified and the Unattended switch is used, if the Active Directory is not accessible, the activation will fail with the following error message:

Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active Directory Web Services running.

Description

If the configuration property LicenseEmail is not specified and the script is ran in unattended mode, a query is made to the active directory (Get-ADUser). If the active directory is not accessible then the script will fail to retrieve the email address and generate an error that will stop the script.

Error message

Unable to contact the server. This may be because this server does not exist, it is currently down, or it does not have the Active
Directory Web Services running.
[...]
    + CategoryInfo          : ResourceUnavailable: (<UserName>:ADUser) [Get-ADUser], ADServerDownException
    + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADUser

Solution

In order to prevent this issue from happening, the property LicenseEmail should be specified in the custom script configuration file (custom.ini) or the active directory should be made accessible.

Cannot change installation location during upgrade

Issue

The upgrade process fails if the new installation location differs from the current installation directory.

Description

When upgrading, if the installation location specified does not match the existing installation directory, the script will stop and throw an error message.

Alteryx Service process could not be found

Cause

This is due to the fact that the upgrade process starts with a backup which requires a call to the Alteryx Service. This service process is located in the installation directory and thus refers to the provided installation location. Because the new installation directory specified is empty, the service cannot be found.

Upgrade to 2021.4 fails

Issue

Upgrading from a previous version to 2021.4 fails.

Description

When upgrading from 2021.3 or an older version to 2021.4, the upgrade script throws an error after the backup of the database while attempting to restart the service.

yyyy-MM-dd hh:mm:ss	CHECK	Starting Alteryx Server upgrade to 2021.4.1.06380
yyyy-MM-dd hh:mm:ss	INFO	Retrieving current version
yyyy-MM-dd hh:mm:ss	CHECK	Start full backup of Alteryx Server
yyyy-MM-dd hh:mm:ss	INFO	Check Alteryx Service status
yyyy-MM-dd hh:mm:ss	INFO	Stopping Alteryx Service                      
yyyy-MM-dd hh:mm:ss	CHECK	Alteryx Service successfully stopped
yyyy-MM-dd hh:mm:ss	INFO	Create MongoDB database backup
yyyy-MM-dd hh:mm:ss	INFO	Backup configuration files
yyyy-MM-dd hh:mm:ss	WARN	SystemAlias configuration file could not be found
yyyy-MM-dd hh:mm:ss	WARN	SystemConnections configuration file could not be found
yyyy-MM-dd hh:mm:ss	INFO	Backup controller token
yyyy-MM-dd hh:mm:ss	INFO	Compress backup files
yyyy-MM-dd hh:mm:ss	INFO	Remove staging backup folder
yyyy-MM-dd hh:mm:ss	INFO	Starting Alteryx Service                    
yyyy-MM-dd hh:mm:ss	ERROR	Alteryx Service could not be started

Cause

This is due to two factors:

  1. The AlteryxService.exe utility exit code when starting the Alteryx Service has changed between version 2021.3 and 2021.4.

    Version Success exit code
    2021.3 2
    2021.4 0
  2. The backup triggered during the upgrade references the target version instead of the old one, which fails to pass the version check built to prevent the issue described above.

Set server secret failed: Error in CryptImportKey(3): Bad Data. (-2146893819)

Issue

When restoring a backup on a different machine, the script fails and the following error is thrown when attempting to restore the controller token:

Set server secret failed: Error in CryptImportKey(3): Bad Data. (-2146893819)

Description

When performing a restore on a different machine, the controller token must be reconfigured but this can only be performed if the property <ServerSecretEncrypted> does not already exists in the platform configuration file (RunTimeSettings.xml).

If the property is already present in the configuration file, the restore of the controller token value will fail and it subsequently prevents the service from being started as expected.

Error message

2021-12-09 22:57:19     INFO    Restore controller token
2021-12-09 22:57:20     ERROR   Set server secret failed: Error in CryptImportKey(3): Bad Data. (-2146893819)
Set server secret failed.
2021-12-09 22:57:20     ERROR   Controller token update failed
2021-12-09 22:57:20     INFO    Restore storage key
2021-12-09 22:57:20     INFO    Remove staging backup folder
2021-12-09 22:57:32     INFO    Alteryx Service is starting...
2021-12-09 22:57:33     INFO    Alteryx Service is starting...
2021-12-09 22:57:34     INFO    Alteryx Service is starting...
2021-12-09 22:57:35     ERROR   Attempt to start the Alteryx Service (AlteryxService) failed

Solution

The property <ServerSecretEncrypted> must be removed from the RunTimeSettings.xml configuration file (see Server Host Recovery Guide).

Automatically rename base Gallery URL on restore

Feature

Upon restoring a backup on a different machine, the script should automatically update the Gallery URL to the new IP or hostname to ensure that no additional manual step is required.

Users are currently required to update this value before or after the restore in order to successfully restart the Alteryx Service.

Parameter Exception for LicenseKey

The Deploy-Alteryx script defines LicenseKey as a parameter of type System.String[]

[System.String[]]

This property is passed to the Add-AlteryxLicense command in Invoke-ActivateAlteryx script on Action - Activate

$Activation = Add-AlteryxLicense -Path $LicenseUtility -Key $Properties.LicenseKey -Email $Email

But this command from PSAYX version 1.0.1 only accepts a parameter of type System.String
https://github.com/Akaizoku/PSAYX/blob/42963a60acbd85f2020c8dbfcead72aeebfe0682/Public/License/Add-License.ps1#L34

Hence the Action - Activate always fails with the below error

Invoke-ActivateAlteryx : Cannot process argument transformation on parameter 'Key'. Cannot convert value to type System.String.   

 At C:\alteryx-deploy-main\Deploy-Alteryx.ps1:246 char:27

+ ... ate"      { Invoke-ActivateAlteryx    -Properties $Properties -Unatte ... 

+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~         

+ CategoryInfo          : InvalidData: (:) [Invoke-ActivateAlteryx], ParameterBindingArgumentTransformationException                                         

+ FullyQualifiedErrorId : ParameterArgumentTransformationError,Invoke-ActivateAlteryx  

Suggestion to fix - Change the Parameter type in the deploy script for LicenseKey to System.String

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.