Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

cloudera director bootstrap python

avatar

Hi, is it possible to define a template for cloudera director to call a python script in the bootstrap process?

The documentation states that the bootstrapScriptsPaths defines a list of script file (shell commands) - so I assume only shell commands are supported.

 

1 ACCEPTED SOLUTION

avatar
Super Collaborator

Hi Tomas79,

 

I think a Python script will work if you start it with a shebang (e.g., #/usr/bin/env python). Director uses essentially the following shell command to run a script, so I can see a Python script working with it.

 

 

sudo chmod 700 'scriptName' && sudo 'scriptName'

 

Even so, running a Python script directly is a little hacky because we haven't thought about Director running anything other than shell scripts with this capability, so I can't guarantee that this command won't change in the future to not work with a Python script. However, something like the following shell script will be fine.

 

#!/usr/bin/env bash
python <<EOF
print 'Hello world!'
EOF

 

 

Or:

 

#!/usr/bin/env bash
curl -O http://host/path/to/downloadable/script.py
python script.py

 

 

Or rather than downloading the script, bake it into your AMI / image. So, there are a few options.

View solution in original post

1 REPLY 1

avatar
Super Collaborator

Hi Tomas79,

 

I think a Python script will work if you start it with a shebang (e.g., #/usr/bin/env python). Director uses essentially the following shell command to run a script, so I can see a Python script working with it.

 

 

sudo chmod 700 'scriptName' && sudo 'scriptName'

 

Even so, running a Python script directly is a little hacky because we haven't thought about Director running anything other than shell scripts with this capability, so I can't guarantee that this command won't change in the future to not work with a Python script. However, something like the following shell script will be fine.

 

#!/usr/bin/env bash
python <<EOF
print 'Hello world!'
EOF

 

 

Or:

 

#!/usr/bin/env bash
curl -O http://host/path/to/downloadable/script.py
python script.py

 

 

Or rather than downloading the script, bake it into your AMI / image. So, there are a few options.