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

"module.run" is using its deprecated version and will expire in version "Phosphorus" #298

Open
ewdurbin opened this issue Jan 24, 2023 · 2 comments

Comments

@ewdurbin
Copy link
Member

[WARNING ] The function "module.run" is using its deprecated version and will expire in version "Phosphorus".

Some of our states use module.run which apparently is using a deprecated syntax.

We should determine what the call should look like and update all invocations in our states to silence this warning.

To reproduce, vagrant up the salt-master and then vagrant up a node that uses the module.run function such as cdn-logs.

@ewdurbin
Copy link
Member Author

Little more investigation pairing with @cegerhardson, seems that this is only on the first invocation of state.highstate for some hosts. We also don't appear to using the module.run function directly. My best guess at this point is we're using it indirectly via a built-in salt state.

Attempted to get debug output by destroying cdn-logs vagrant box locally then bringing it back up with this patch applied:

diff --git a/Vagrantfile b/Vagrantfile
index 4763e96..671af6a 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -68,16 +68,16 @@ Vagrant.configure("2") do |config|
       apt-get install -y salt-minion
       echo 'master: #{MASTER1}\n' > /etc/salt/minion.d/local.conf
       service salt-minion restart
-      salt-call state.highstate
+      salt-call -l debug state.highstate
       while ! salt-call consul.cluster_ready | grep True; do echo 'waiting for consul'; sleep 1; done
       salt '*' saltutil.sync_all
       salt '*' saltutil.refresh_grains
       salt '*' saltutil.refresh_pillar wait=True timeout=30
-      salt-call state.highstate
+      salt-call -l debug state.highstate
     HEREDOC
 
     # Run this always, because we need to sync our states.
-    s_config.vm.provision :shell, inline: "salt-call state.highstate", run: "always"
+    s_config.vm.provision :shell, inline: "salt-call -l debug state.highstate", run: "always"
   end
 
   SERVERS.each_with_index do |server_c, num|

but didn't see debug output from vagrant up :/

@cegerhardson
Copy link
Contributor

After further investigation with @ewdurbin, it appears clear that the warning is coming from an indirect use via a built-in salt state, as we are not using module.run anywhere directly in our configuration.

As an attempt to confirm this hypothesis, we updated salt to its latest configuration, which cleared out this warning.

index 1e214c8..efc696b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -45,8 +45,8 @@ RUN /usr/sbin/sshd
 
 # Setup Salt Common
 
-RUN wget --quiet -O /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/$(dpkg --print-architecture)/3004/salt-archive-keyring.gpg
-RUN echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=$(dpkg --print-architecture)] https://repo.saltproject.io/py3/ubuntu/20.04/$(dpkg --print-architecture)/3004 focal main" > /etc/apt/sources.list.d/salt.list
+RUN wget --quiet -O /usr/share/keyrings/salt-archive-keyring.gpg https://repo.saltproject.io/py3/ubuntu/20.04/$(dpkg --print-architecture)/3005/salt-archive-keyring.gpg
+RUN echo "deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=$(dpkg --print-architecture)] https://repo.saltproject.io/py3/ubuntu/20.04/$(dpkg --print-architecture)/3005 focal main" > /etc/apt/sources.list.d/salt.list
 RUN apt-get update -y && apt-get install -y --no-install-recommends salt-minion
index ddacf3b..090ed28 100644
--- a/salt/base/salt.sls
+++ b/salt/base/salt.sls
@@ -22,8 +22,8 @@ salt-2018.3:
   pkgrepo.managed:
     - humanname: repo.saltstack.org
     {% if grains["oscodename"] == "focal" %}
-    - name: deb https://archive.repo.saltproject.io/py3/ubuntu/20.04/{{ grains["osarch"] }}/archive/3004 focal main
-    - key_url: https://archive.repo.saltproject.io/py3/ubuntu/20.04/{{ grains["osarch"] }}/archive/3004/salt-archive-keyring.gpg
+    - name: deb https://repo.saltproject.io/py3/ubuntu/20.04/{{ grains["osarch"] }}/archive/3005 focal main
+    - key_url: https://repo.saltproject.io/py3/ubuntu/20.04/{{ grains["osarch"] }}/archive/3005/salt-archive-keyring.gpg
     {% else %}
     - name: deb http://archive.repo.saltstack.com/py3/ubuntu/{{ grains["osrelease"] }}/{{ grains["osarch"] }}/2018.3 {{ grains["oscodename"] }} main
     - key_url: https://archive.repo.saltstack.com/py3/ubuntu/18.04/amd64/2018.3/SALTSTACK-GPG-KEY.pub

For now, this warning is not a concern and proves that when we do decide to upgrade to salt's release 3005 codename Phosphorous, none of our current configuration will fail upon updating salt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants