Esri / arcgis-cookbook

Chef cookbooks for ArcGIS
Apache License 2.0
290 stars 115 forks source link

Running into windows install issues on install_server.rb recipe #388

Open ehopkinson-LB opened 1 month ago

ehopkinson-LB commented 1 month ago

While running chef locally on machine, when it comes time to install the server we get a Windows Installer dialog box showing the available options for the installer to run and an OK button.

When the OK button is clicked nothing happens.

Have attempted to try and edit the install options with iterations of

/i

but nothing seems to be working.

Unpacking is successful and directory identified by ['arcgis']['server']['setup'] is accessible.

cameronkroeker commented 1 month ago

While running chef locally on machine, when it comes time to install the server we get a Windows Installer dialog box showing the available options for the installer to run and an OK button.

When the OK button is clicked nothing happens.

Have attempted to try and edit the install options with iterations of

/i

but nothing seems to be working.

Unpacking is successful and directory identified by ['arcgis']['server']['setup'] is accessible.

@ehopkinson-LB can you share additional details such as:

Thanks, Cameron K.

ehopkinson-LB commented 1 month ago

Cookbook version is 5.0 Version of acgis server is 11.12 Version of chef client is 18.4.12 We are not using a json config file we are attempting to use a default.rb attributes file to pass the logic. We are trying to use this with a wrapper cookbook.

default['arcgis']['version'] = "11.2" default['arcgis']['run_as_user'] = "arcgis" default['arcgis']['configure_windows_firewall'] = true default['arcgis']['repository']['archives'] = "D:\Software\Archives\" default['arcgis']['repository']['setups'] = "D:\Software\Setups" default['arcgis']['server']['setup_archive'] = "D:\Software\Archives\ArcGIS_Server_Windows_112_188239.exe" default['arcgis']['server']['setup'] = "D:\Software\Setups\ArcGIS 11.2\ArcGISServer\Setup.exe" default['arcgis']['server']['setup_options'] = '/i Setup' #Please note we have tried multiple iterations of this and excluding it also default['arcgis']['server']['install_dir'] = "D:\Program Files\ArcGIS\Server" default['arcgis']['server']['install_system_requirements'] = true default['arcgis']['server']['wa_name'] = default['arcgis']['server']['authorization_file'] = default['arcgis']['web_adaptor']['install_system_requirements'] = true default['arcgis']['web_adaptor']['dotnet_setup_path'] = "D:\Software\Archives\dotnet-hosting-6.0.9-win.exe" default['arcgis']['web_adaptor']['web_deploy_setup_path'] = "D:\Software\Archives\WebDeploy_amd64_en-US.msi" default['arcgis']['web_adaptor']['admin_access'] = true default['arcgis']['web_adaptor']['reindex_portal_content'] = false default['arcgis']['portal']['install_dir'] = "D:\Program Files\ArcGIS\Portal" default['arcgis']['portal']['install_system_requirements'] = true default['arcgis']['portal']['data_dir'] = "D:\arcgisportal" default['arcgis']['portal']['wa_name'] = default['arcgis']['run_as_password'] =

cameronkroeker commented 1 month ago

Thanks @ehopkinson-LB for providing the additional information. It is not recommended nor a supported workflow to modify the attributes.rb directly. Instead use a json config file, as the attributes defined in the json file will override the ones specified in the attributes.rb.

Example:

https://github.com/Esri/arcgis-cookbook/blob/c92c7768637d5e5e2bb633a867107b8e9c206953/templates/arcgis-server/11.3/windows/arcgis-server.json#L1-L35

The cookbooks use /qn by default:

https://github.com/Esri/arcgis-cookbook/blob/c92c7768637d5e5e2bb633a867107b8e9c206953/cookbooks/arcgis-enterprise/providers/server.rb#L95-L99

So there shouldn't be any popups when the setup.exe is executed with these default args (qn). The setup_options should be used for having it generate an msi log file, or EXPORTCONFIG=Yes, and CONFIGPATH=<full path and name of server configuration file>. It's meant to append additional args that are not already being passed in. For example:

"server": {
  "install_dir": "C:\\Program Files\\ArcGIS\\Server",
  "setup_options": "/L*v C:\\AGS_Install.log EXPORTCONFIG=Yes CONFIGPATH=C:\\serverconfigs\\standardaccount.xml"
}

One thing you can do is check that the setup.exe command is being construction properly using the Details tab in Task Manager (ensure the command line column is enabled).

https://enterprise.arcgis.com/en/server/11.2/install/windows/silently-install-arcgis-server.htm

Note: in the above documentation it suggests /qb but this will display a non interactive gui popup that shows the status of the installation. Cookbooks uses qn instead of qb for a complete silent experience of no gui's/popups.

rreilly-edr commented 1 month ago

so is using chef server not supported ? is it only supported with chef zero ?

cameronkroeker commented 1 month ago

so is using chef server not supported ? is it only supported with chef zero ?

Using Chef/Cinc Server is still supported and a valid workflow. However, it is still recommended to use a json file. For example:

https://github.com/Esri/arcgis-cookbook/wiki/Automate-a-multi-machine-ArcGIS-Enterprise-deployment-on-Windows-using-Chef-Server#prepare-chef-server-for-arcgis-enterprise-deployment

This wiki page is a bit outdated, as we no longer provide the sample roles/environment files. These however, can still be found here (under assets) and update them to your desired version. Alternatively use the Chef Templates and update them to include the syntax required by Chef Server.

Screenshot 2024-06-07 at 10 18 30 AM
cameronkroeker commented 1 month ago

@rreilly-edr

Here is an example role json file of the 11.3 arcgis-enterprise-primary.json template that could be used with Chef Server:

{
    "name": "baseenterprise",
    "description": "Primary Machine of Base ArcGIS Enterprise",
    "default_attributes": {
        "arcgis": {
            "version": "11.3",
            "run_as_user": "arcgis",
            "run_as_password": "<run_as_password>",
            "configure_windows_firewall": true,
            "repository": {
                "archives": "C:\\Software\\Archives",
                "setups": "C:\\Software\\Setups"
            },
            "iis": {
                "keystore_file": "C:\\Temp\\keystore.pfx",
                "keystore_password": "<keystore_password>",
                "replace_https_binding": true
            },
            "server": {
                "install_dir": "C:\\Program Files\\ArcGIS\\Server",
                "install_system_requirements": true,
                "private_url": "https://domain.com:6443/arcgis",
                "web_context_url": "https://domain.com/server",
                "admin_username": "<server_admin_username>",
                "admin_password": "<server_admin_password>",
                "authorization_file": "C:\\Software\\AuthorizationFiles\\11.3\\Server.prvc",
                "directories_root": "\\\\FILESERVER\\arcgisserver",
                "log_dir": "C:\\arcgisserver\\logs",
                "log_level": "WARNING",
                "config_store_type": "FILESYSTEM",
                "config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store",
                "wa_name": "server",
                "services_dir_enabled": true,
                "system_properties": {
                    "WebContextURL": "https://domain.com/server"
                }
            },
            "data_store": {
                "install_dir": "C:\\Program Files\\ArcGIS\\DataStore",
                "setup_options": "ADDLOCAL=relational,tilecache",
                "install_system_requirements": true,
                "data_dir": "C:\\arcgisdatastore",
                "preferredidentifier": "hostname",
                "types": "tileCache,relational",
                "tilecache": {
                    "backup_type": "fs",
                    "backup_location": "\\\\FILESERVER\\arcgisbackup\\tilecache"
                },
                "relational": {
                    "backup_type": "fs",
                    "backup_location": "\\\\FILESERVER\\arcgisbackup\\relational"
                }
            },
            "portal": {
                "install_dir": "C:\\Program Files\\ArcGIS\\Portal",
                "install_system_requirements": true,
                "admin_username": "<portal_admin_username>",
                "admin_password": "<portal_admin_password>",
                "admin_email": "admin@mydomain.com",
                "admin_full_name": "Administrator",
                "admin_description": "Initial account administrator",
                "security_question": "Your favorite ice cream flavor?",
                "security_question_answer": "bacon",
                "data_dir": "C:\\arcgisportal",
                "log_dir": "C:\\arcgisportal\\logs",
                "log_level": "WARNING",
                "enable_debug": false,
                "content_store_type": "fileStore",
                "content_store_provider": "FileSystem",
                "content_store_connection_string": "\\\\FILESERVER\\arcgisportal\\content",
                "object_store": "",
                "authorization_file": "C:\\Software\\AuthorizationFiles\\11.3\\Portal.json",
                "user_license_type_id": "",
                "wa_name": "portal",
                "root_cert": "",
                "root_cert_alias": "rootcert",
                "system_properties": {
                    "privatePortalURL": "https://domain.com:7443/arcgis",
                    "WebContextURL": "https://domain.com/portal"
                }
            },
            "web_adaptor": {
                "install_system_requirements": true,
                "dotnet_setup_path": "C:\\Software\\Archives\\dotnet-hosting-8.0.0-win.exe",
                "web_deploy_setup_path": "C:\\Software\\Archives\\WebDeploy_amd64_en-US.msi",
                "admin_access": true,
                "reindex_portal_content": false
            }
        }
    },
    "run_list": [
        "recipe[arcgis-enterprise::system]",
        "recipe[arcgis-enterprise::disable_loopback_check]",
        "recipe[esri-iis]",
        "recipe[arcgis-enterprise::install_portal]",
        "recipe[arcgis-enterprise::webstyles]",
        "recipe[arcgis-enterprise::portal]",
        "recipe[arcgis-enterprise::portal_wa]",
        "recipe[arcgis-enterprise::server]",
        "recipe[arcgis-enterprise::server_wa]",
        "recipe[arcgis-enterprise::datastore]",
        "recipe[arcgis-enterprise::federation]"
    ]
}

Example environment json file:

{
  "name": "demo",
  "description": "ArcGIS Enterprise Demo",
  "default_attributes": {
    "arcgis": {
      "run_as_password": "<run_as_password>",
      "run_as_user": "arcgis",
      "version": "11.3",
      "repository": {
        "archives": "\\\\FILESERVER\\Software\\Archives"
      },
      "web_adaptor": {
    "admin_access":true
      },
      "server": {
        "authorization_file_version": "11.3",
        "local_directories_root":"C:\\arcgisserver",
        "directories_root":"C:\\arcgisserver"
      },
      "data_store": {
        "data_dir": "C:\\arcgisdatastore"       
      },
      "portal": {
        "data_dir": "C:\\arcgisportal"      
      }
    }
  }
}