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

[BUG] Missing core dependencies when upgraded to 3005 onedir (salt-cloud) #62660

Open
barbaricyawps opened this issue Sep 12, 2022 · 3 comments
Labels
Bug broken, incorrect, or confusing behavior expected-behavior intended functionality needs-triage Packaging Related to packaging of Salt, not Salt's support for package management.

Comments

@barbaricyawps
Copy link
Contributor

This issue was originally opened on the Salt Install Guide repo by @zyxep, but I'm copying the ticket here. In my opinion, this is a onedir install functionality issue rather than documentation issue, so it belongs here.

I have recently upgraded our salt master and minions to 3005 onedir.
When i tried to trigger salt-cloud I got this:

[INFO    ] salt-cloud starting
/opt/saltstack/salt/run/salt/cloud/clouds/azurearm.py:174: FutureWarning: This cloud provider will be removed from Salt in version 3007 due to the deprecation of the 'Classic' API for Azure. Please migrate to Azure Resource Manager by March 1, 2023 (https://docs.microsoft.com/en-us/azure/virtual-machines/classic-vm-deprecation)
  salt.utils.versions.warn_until(
/opt/saltstack/salt/run/salt/cloud/clouds/msazure.py:113: FutureWarning: This cloud provider will be removed from Salt in version 3007 due to the deprecation of the 'Classic' API for Azure. Please migrate to Azure Resource Manager by March 1, 2023 (https://docs.microsoft.com/en-us/azure/virtual-machines/classic-vm-deprecation)
  salt.utils.versions.warn_until(
[WARNING ] Missing dependency: 'pyVmomi'. The vmware driver requires 'pyVmomi' to be installed.
[WARNING ] The cloud driver, 'vmware', configured under the 'sac' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'vmware' driver.
In rare cases, this could indicate the 'vmware.get_configured_provider()' function could not be found.
Removing 'vmware' from the available providers list
[INFO    ] Applying map from '/srv/pillar/vms/vm.yaml'.
[ERROR   ] There was a query error: 'provider'

Then I on the master ran sudo salt pip install pyvmomi and got this:

Collecting pyvmomi
  Using cached pyvmomi-7.0.3.tar.gz (592 kB)
  Preparing metadata (setup.py) ... done
Collecting requests>=2.3.0
  Downloading requests-2.28.1-py3-none-any.whl (62 kB)
     |################################| 62 kB 1.8 MB/s
Requirement already satisfied: six>=1.7.3 in /opt/saltstack/salt/pypath/lib/python3.9/site-packages (from pyvmomi) (1.16.0)
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
     |################################| 140 kB 111.3 MB/s
Collecting charset-normalizer<3,>=2
  Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5
  Downloading idna-3.3-py3-none-any.whl (61 kB)
     |################################| 61 kB 12.1 MB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2022.6.15-py3-none-any.whl (160 kB)
     |################################| 160 kB 93.9 MB/s
Building wheels for collected packages: pyvmomi
  Building wheel for pyvmomi (setup.py) ... done
  Created wheel for pyvmomi: filename=pyvmomi-7.0.3-py2.py3-none-any.whl size=259569 sha256=02d3a3463775789ef134264ced7e9da02ce150906ed8b21eb946096a2a5ba39b
  Stored in directory: /root/.cache/pip/wheels/77/42/2b/4ee17ed5cf5b70933d5af2e85c0edcb7fb1edcc7746db6a9c1
Successfully built pyvmomi
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests, pyvmomi
  WARNING: The script normalizer is installed in '/opt/saltstack/salt/pypath/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
salt 3005 requires certifi==2022.5.18.1, but you have certifi 2022.6.15 which is incompatible.
salt 3005 requires idna==2.8, but you have idna 3.3 which is incompatible.
salt 3005 requires requests==2.25.1, but you have requests 2.28.1 which is incompatible.
salt 3005 requires urllib3==1.26.6, but you have urllib3 1.26.12 which is incompatible.
Successfully installed certifi-2022.6.15 charset-normalizer-2.1.1 idna-3.3 pyvmomi-7.0.3 requests-2.28.1 urllib3-1.26.12
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

I kinda expected pyvmomi to be bundled with salt-cloud when I updated that to 3005 and then i'm also "confused" of why a so deep version is required for 3005.

salt 3005 requires certifi==2022.5.18.1, but you have certifi 2022.6.15 which is incompatible.
salt 3005 requires idna==2.8, but you have idna 3.3 which is incompatible.
salt 3005 requires requests==2.25.1, but you have requests 2.28.1 which is incompatible.
salt 3005 requires urllib3==1.26.6, but you have urllib3 1.26.12 which is incompatible.
@barbaricyawps barbaricyawps added Bug broken, incorrect, or confusing behavior needs-triage labels Sep 12, 2022
@OrangeDog
Copy link
Contributor

The cloud drivers are not core functionality. You've always had to install the dependency for the driver(s) you're going to use.
The classic package also only depends on python3-libcloud and salt-common.

The fact that using salt-pip breaks the bundled salt dependencies seems like a problem. That should probably be a separate issue.

@OrangeDog OrangeDog added Packaging Related to packaging of Salt, not Salt's support for package management. expected-behavior intended functionality labels Sep 13, 2022
@zyxep
Copy link

zyxep commented Sep 13, 2022

I apologize for creating it the wrong place 🙈 and not get to it in time to get it here.

@barbaricyawps
Copy link
Contributor Author

No worries at all, @zyxep . Part of the triage process is just making sure that issues get routed to the correct repo so they can get proper attention. Thanks for opening the issue and making us aware. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug broken, incorrect, or confusing behavior expected-behavior intended functionality needs-triage Packaging Related to packaging of Salt, not Salt's support for package management.
Projects
None yet
Development

No branches or pull requests

3 participants