Skip to content

Commit c6ec4d1

Browse files
committed
Override shellout PATH
Since we have to use login = true in order to simulate user login, the PATH is set by the logon_environment shellout function to be just "/sbin:/bin:/usr/sbin:/usr/bin", see https://github.com/chef/mixlib-shellout/blob/0e3e2cbe668addc14883b0c53b022b5bd59fe627/lib/mixlib/shellout/unix.rb#L70. With this patch, PATH is overwritten with a better PATH definition Signed-off-by: Luca Carrogu <[email protected]>
1 parent b86f457 commit c6ec4d1

File tree

1 file changed

+2
-33
lines changed

1 file changed

+2
-33
lines changed

cookbooks/aws-parallelcluster-scheduler-plugin/resources/execute_event_handler.rb

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -139,59 +139,28 @@ def build_static_env(target_cluster_config, target_launch_templates, target_inst
139139
Chef::Log.info("Building static handler environment")
140140
env = {}
141141

142-
# PCLUSTER_CLUSTER_CONFIG
143142
env.merge!({ 'PCLUSTER_CLUSTER_CONFIG' => target_cluster_config })
144-
145-
# PCLUSTER_LAUNCH_TEMPLATES
146143
env.merge!({ 'PCLUSTER_LAUNCH_TEMPLATES' => target_launch_templates })
147-
148-
# PCLUSTER_INSTANCE_TYPES_DATA
149144
env.merge!({ 'PCLUSTER_INSTANCE_TYPES_DATA' => target_instance_types_data })
150-
151-
# PCLUSTER_CLUSTER_NAME
152145
env.merge!(build_hash_from_node('PCLUSTER_CLUSTER_NAME', true, :cluster, :stack_name))
153-
154-
# PCLUSTER_CFN_STACK_ARN
155146
env.merge!(build_hash_from_node('PCLUSTER_CFN_STACK_ARN', true, :cluster, :stack_arn))
156-
157-
# PCLUSTER_SCHEDULER_PLUGIN_CFN_SUBSTACK_ARN
158147
env.merge!(build_hash_from_node('PCLUSTER_SCHEDULER_PLUGIN_CFN_SUBSTACK_ARN', false, :cluster, :scheduler_plugin_substack_arn))
159-
160-
# PCLUSTER_SCHEDULER_PLUGIN_CFN_SUBSTACK_OUTPUTS
161148
env.merge!({ 'PCLUSTER_SCHEDULER_PLUGIN_CFN_SUBSTACK_OUTPUTS' => target_scheduler_plugin_substack_outputs }) if ::File.exist?(target_scheduler_plugin_substack_outputs)
162-
163-
# PCLUSTER_SHARED_SCHEDULER_PLUGIN_DIR
164149
env.merge!(build_hash_from_node('PCLUSTER_SHARED_SCHEDULER_PLUGIN_DIR', true, :cluster, :scheduler_plugin, :shared_dir))
165-
166-
# PCLUSTER_LOCAL_SCHEDULER_PLUGIN_DIR
167150
env.merge!(build_hash_from_node('PCLUSTER_LOCAL_SCHEDULER_PLUGIN_DIR', true, :cluster, :scheduler_plugin, :local_dir))
168-
169-
# PCLUSTER_AWS_REGION and AWS_REGION
170151
env.merge!(build_hash_from_node('PCLUSTER_AWS_REGION', true, :ec2, :region))
171152
env.merge!(build_hash_from_node('AWS_REGION', true, :ec2, :region))
172-
173-
# PCLUSTER_OS
174153
env.merge!(build_hash_from_node('PCLUSTER_OS', true, :cluster, :config, :Image, :Os))
175-
176-
# PCLUSTER_ARCH
177154
env.merge!(build_hash_from_node('PCLUSTER_ARCH', true, :cpu, :architecture))
178-
179-
# PCLUSTER_VERSION
180155
env.merge!(build_hash_from_node('PCLUSTER_VERSION', true, :cluster, :'parallelcluster-version'))
181-
182-
# PCLUSTER_HEADNODE_PRIVATE_IP
183156
env.merge!(build_hash_from_node('PCLUSTER_HEADNODE_PRIVATE_IP', true, :ec2, :local_ipv4))
184-
185-
# PCLUSTER_HEADNODE_HOSTNAME
186157
env.merge!(build_hash_from_node('PCLUSTER_HEADNODE_HOSTNAME', true, :hostname))
187-
188-
# PCLUSTER_PYTHON_ROOT
189158
env.merge!({ 'PCLUSTER_PYTHON_ROOT' => "#{node['cluster']['scheduler_plugin']['virtualenv_path']}/bin" })
190-
159+
env.merge!({ 'PATH' => "#{node['cluster']['scheduler_plugin']['virtualenv_path']}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/aws/bin:#{node['cluster']['scheduler_plugin']['home']}/.local/bin:#{node['cluster']['scheduler_plugin']['home']}/bin" })
160+
env.merge!(setup_proxy(:cluster, :proxy))
191161
# PCLUSTER_CLUSTER_CONFIG_OLD
192162
# TODO: to be implemented
193163

194-
env.merge!(setup_proxy(:cluster, :proxy))
195164
env
196165
end
197166

0 commit comments

Comments
 (0)