CycleCloudCommunity / cyclecloud_arm

5 stars 8 forks source link

Installation/Deployment fails because pip "cannot uninstall 'ipaddress' #10

Open andreas-wilm opened 5 years ago

andreas-wilm commented 5 years ago

Hello,

I've tried deploying Cycle cluster with versions 7.7.4 and 7.7.3 as well as "latest". Installation fails for all these with identical error: pip

"cannot uninstall 'ipaddress'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall

See below for full stack trace:

Most recent version fails:
    {"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.","details":[{"code":"Conflict","message":"{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"VMExtensionProvisioningError\",\r\n \"message\": \"VM has reported a failure when processing extension 'InstallCycle'. Error message: \\\"Enable failed: failed to execute command: command terminated with exit status=1\\n[stdout]\\n (57kB)\\nCollecting paramiko==2.4.1 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/3e/db/cb7b6656e0e7387637ce850689084dc0b94b44df31cc52e5fc5c2c4fd2c1/paramiko-2.4.1-py2.py3-none-any.whl (194kB)\\nCollecting rsa==3.4.2 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/e1/ae/baedc9cb175552e95f3395c43055a6a5e125ae4d48a1d7a924baca83e92e/rsa-3.4.2-py2.py3-none-any.whl (46kB)\\nCollecting google_api_python_client==1.4.2 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/19/51/3c0e5004932754b51de2004503355b8b18dc65932fb2052c569a74d7c113/google_api_python_client-1.4.2-py2.py3-none-any.whl (48kB)\\nCollecting httplib2==0.10.3 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/e4/2e/a7e27d2c36076efeb8c0e519758968b20389adf57a9ce3af139891af2696/httplib2-0.10.3.tar.gz (204kB)\\nCollecting idna==2.6 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl (56kB)\\nCollecting amqp==1.4.9 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/ed/09/314d2788aba0aa91f2578071a6484f87a615172a98c309c2aad3433da90b/amqp-1.4.9-py2.py3-none-any.whl (51kB)\\nCollecting pyasn1==0.4.2 (from cyclecloud-cli==0.0.0)\\n Downloading https://files.pythonhosted.org/packages/ba/fe/02e3e2ee243966b143657fb8bd6bc97595841163b6d8c26820944acaec4d/pyasn1-0.4.2-py2.py3-none-any.whl (71kB)\\nBuilding wheels for collected packages: cyclecloud-cli, tryme, terminaltables, pycparser, anyjson, ipaddress, oauth2client, httplib2\\n Building wheel for cyclecloud-cli (setup.py): started\\n Building wheel for cyclecloud-cli (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/f8/93/2c/837b7b336ed85ee1225c3e2ceb901819a9f6b141599a832900\\n Building wheel for tryme (setup.py): started\\n Building wheel for tryme (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/ad/19/26/14290fda49000342e7e911d63515845f98157da9f4cea17613\\n Building wheel for terminaltables (setup.py): started\\n Building wheel for terminaltables (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/30/6b/50/6c75775b681fb36cdfac7f19799888ef9d8813aff9e379663e\\n Building wheel for pycparser (setup.py): started\\n Building wheel for pycparser (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/c0/a1/27/5ba234bd77ea5a290cbf6d675259ec52293193467a12ef1f46\\n Building wheel for anyjson (setup.py): started\\n Building wheel for anyjson (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/0a/07/b1/a704fb6e43ef7b61969239c9fce608d52c3cc85d5eb6cd3891\\n Building wheel for ipaddress (setup.py): started\\n Building wheel for ipaddress (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/4f/fe/3e/a310b86575d8d3ce870a9c04a00a91df3c041d3e70529b4361\\n Building wheel for oauth2client (setup.py): started\\n Building wheel for oauth2client (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/7a/0b/de/3f8e939ae5f46f030eee5a16bd2dafde9e1e49ea1480b2f983\\n Building wheel for httplib2 (setup.py): started\\n Building wheel for httplib2 (setup.py): finished with status 'done'\\n Stored in directory: /root/.cache/pip/wheels/d6/f4/9c/f4eab4c19c0bde393b00a1f83afe12cc469852ff3810cd6f6d\\nSuccessfully built cyclecloud-cli tryme terminaltables pycparser anyjson ipaddress oauth2client httplib2\\nInstalling collected packages: requests, idna, pycparser, cffi, enum34, six, asn1crypto, ipaddress, cryptography, tryme, terminaltables, pyOpenSSL, anyjson, click, certifi, httplib2, pyasn1, pyasn1-modules, rsa, oauth2client, uritemplate, PyNaCl, amqp, kombu, bcrypt, paramiko, google-api-python-client, cyclecloud-cli\\n Found existing installation: six 1.9.0\\n Uninstalling six-1.9.0:\\n Successfully uninstalled six-1.9.0\\n Found existing installation: ipaddress 1.0.16\\n\\n\\n[stderr]\\nDEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.\\nDEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.\\nERROR: Cannot uninstall 'ipaddress'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\\nTraceback (most recent call last):\\n File \\\"cyclecloud_install.py\\\", line 395, in <module>\\n main()\\n File \\\"cyclecloud_install.py\\\", line 381, in main\\n download_install_cc(args.downloadURL, args.cyclecloudVersion)\\n File \\\"cyclecloud_install.py\\\", line 304, in download_install_cc\\n _catch_sys_error([\\\"pip\\\", \\\"install\\\", \\\"cyclecloud-cli-sdist.tar.gz\\\"])\\n File \\\"cyclecloud_install.py\\\", line 29, in _catch_sys_error\\n output = check_output(cmd_list)\\n File \\\"/usr/lib64/python2.7/subprocess.py\\\", line 575, in check_output\\n raise CalledProcessError(retcode, cmd, output=output)\\nsubprocess.CalledProcessError: Command '['pip', 'install', 'cyclecloud-cli-sdist.tar.gz']' returned non-zero exit status 1\\n\\\".\"\r\n }\r\n ]\r\n }\r\n}"}]}

Thanks, Andreas

jermth commented 5 years ago

Hi Andreas, pip couldn't uninstall/upgrade a disutils installed package needed for the cycleclovd CLI. I switched the installer to use the install script that is distributed with CycleCloud instead. Thanks for reporting this.