@@ -131,15 +131,23 @@ void init() {
131
131
placePip703 ();
132
132
placeAnsible196 ();
133
133
134
- ShellUtils .run (String .format ("if ! sudo ansible --version | grep -q 1.9.6; then " +
135
- "if grep -i -s centos /etc/system-release; then " +
136
- "sudo yum remove -y ansible; " +
137
- "elif grep -i -s ubuntu /etc/issue; then " +
138
- "sudo apt-get --assume-yes remove ansible; " +
139
- "else echo \" Warning: can't remove ansible from unknown platform\" ; " +
134
+ ShellUtils .run (String .format (
135
+ "NEED_INSTALL=false; " +
136
+ "if [ -d /var/lib/zstack/virtualenv/zstacksys ]; then " +
137
+ ". /var/lib/zstack/virtualenv/zstacksys/bin/activate; " +
138
+ "if ! ansible --version | grep -q 'core 2.11.12'; then " +
139
+ "deactivate; " +
140
+ "NEED_INSTALL=true; " +
140
141
"fi; " +
141
- "sudo pip install -i file://%s --trusted-host localhost -I ansible==1.9.6; " +
142
- "fi" , AnsibleConstant .PYPI_REPO ), false );
142
+ "else " +
143
+ "NEED_INSTALL=true; " +
144
+ "fi; " +
145
+ "if $NEED_INSTALL; then " +
146
+ "sudo bash -c 'rm -rf /var/lib/zstack/virtualenv/zstacksys && virtualenv /var/lib/zstack/virtualenv/zstacksys --python=python2.7; " +
147
+ ". /var/lib/zstack/virtualenv/zstacksys/bin/activate; " +
148
+ "pip install -i file://%s --trusted-host localhost -I setuptools==39.2.0; " +
149
+ "pip install -i file://%s --trusted-host localhost -I ansible==4.10.0'; " +
150
+ "fi" , AnsibleConstant .PYPI_REPO , AnsibleConstant .PYPI_REPO ), false );
143
151
144
152
deployModule ("ansible/zstacklib" , "zstacklib.py" );
145
153
} catch (IOException e ) {
@@ -236,15 +244,15 @@ private void run(Completion completion) {
236
244
try {
237
245
String output ;
238
246
if (AnsibleGlobalProperty .DEBUG_MODE2 ) {
239
- output = ShellUtils .run (String .format ("PYTHONPATH=%s timeout %d %s %s -i %s -vvvv --private-key %s -e '%s ' | tee -a %s" ,
247
+ output = ShellUtils .run (String .format ("bash -c '. /var/lib/zstack/virtualenv/zstacksys/bin/activate; PYTHONPATH=%s timeout %d %s %s -i %s -vvvv --private-key %s -e '\\ ''%s' \\ ' | tee -a %s" ,
240
248
AnsibleConstant .ZSTACKLIB_ROOT , timeout , executable , playBookPath , AnsibleConstant .INVENTORY_FILE , msg .getPrivateKeyFile (), JSONObjectUtil .dumpPretty (arguments ), AnsibleConstant .LOG_PATH ),
241
249
AnsibleConstant .ROOT_DIR );
242
250
} else if (AnsibleGlobalProperty .DEBUG_MODE ) {
243
- output = ShellUtils .run (String .format ("PYTHONPATH=%s timeout %d %s %s -i %s -vvvv --private-key %s -e '%s '" ,
251
+ output = ShellUtils .run (String .format ("bash -c '. /var/lib/zstack/virtualenv/zstacksys/bin/activate; PYTHONPATH=%s timeout %d %s %s -i %s -vvvv --private-key %s -e '\\ ''%s' \\ '" ,
244
252
AnsibleConstant .ZSTACKLIB_ROOT , timeout , executable , playBookPath , AnsibleConstant .INVENTORY_FILE , msg .getPrivateKeyFile (), JSONObjectUtil .dumpPretty (arguments )),
245
253
AnsibleConstant .ROOT_DIR );
246
254
} else {
247
- output = ShellUtils .run (String .format ("PYTHONPATH=%s timeout %d %s %s -i %s --private-key %s -e '%s '" ,
255
+ output = ShellUtils .run (String .format ("bash -c '. /var/lib/zstack/virtualenv/zstacksys/bin/activate; PYTHONPATH=%s timeout %d %s %s -i %s --private-key %s -e '\\ ''%s' \\ '" ,
248
256
AnsibleConstant .ZSTACKLIB_ROOT , timeout , executable , playBookPath , AnsibleConstant .INVENTORY_FILE , msg .getPrivateKeyFile (), JSONObjectUtil .dumpPretty (arguments )),
249
257
AnsibleConstant .ROOT_DIR );
250
258
}
0 commit comments