Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ehopkinson-LB opened this issue Jun 6, 2024 · 6 comments
Open

Comments

@ehopkinson-LB
Copy link

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
Copy link
Contributor

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:

  • version of cookbook being used
  • version of arcgis server
  • version of cinc/chef client
  • share json config file (scrub out sensitive information such as passwords)

Thanks,
Cameron K.

@ehopkinson-LB
Copy link
Author

ehopkinson-LB commented Jun 6, 2024

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
Copy link
Contributor

cameronkroeker commented Jun 6, 2024

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:

{
"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"
},
"server": {
"install_dir": "C:\\Program Files\\ArcGIS\\Server",
"install_system_requirements": true,
"admin_username": "<server_admin_username>",
"admin_password": "<server_admin_password>",
"authorization_file": "C:\\Software\\AuthorizationFiles\\11.3\\Server.prvc",
"log_level": "WARNING",
"soc_max_heap_size": 64,
"directories_root": "\\\\FILESERVER\\arcgisserver",
"log_dir": "C:\\arcgisserver\\logs",
"config_store_type": "FILESYSTEM",
"config_store_connection_string": "\\\\FILESERVER\\arcgisserver\\config-store",
"services_dir_enabled": true,
"system_properties": {
"suspendedMachineUnregisterThreshold": -1,
"machineSuspendThreshold": 60
}
}
},
"run_list": [
"recipe[arcgis-enterprise::system]",
"recipe[arcgis-enterprise::disable_loopback_check]",
"recipe[arcgis-enterprise::server]"
]
}

The cookbooks use /qn by default:

args = "/qn ACCEPTEULA=Yes INSTALLDIR=\"#{@new_resource.install_dir}\" "\
"INSTALLDIR1=\"#{@new_resource.python_dir}\" "\
"USER_NAME=\"#{@new_resource.run_as_user}\" "\
"#{password} "\
"#{@new_resource.setup_options}"

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
Copy link

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

@cameronkroeker
Copy link
Contributor

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
Copy link
Contributor

cameronkroeker commented Jun 7, 2024

@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": "[email protected]",
				"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"		
      }
    }
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants