saltstack / salt

Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
https://repo.saltproject.io/
Apache License 2.0
14.1k stars 5.47k forks source link

win_pkg: need help with pkg install and definitions location #49531

Closed nkrishnakishor closed 4 years ago

nkrishnakishor commented 6 years ago

Description of Issue/Question

Could not run highstate on windows minions

Setup

Below is the SLS file

## /srv/salt/asset/init.sls
asset:
  latest:
    installer: 'salt://win/repo-ng/asset-client/asset.msi'
    full_name: asset
    installer_flags: '/qn norestart'
    reboot: False
    uninstaller: 'salt://win/repo-ng/asset-client/asset.msi'
    uninstaller_flags: '/qn norestart'
    msiexec: True
    locale: en_US

My top file is as below.

# /srv/salt/top.sls file contains all the configuration required
 base:
   'os:CentOS':
     - match: grain_pcre
     - apache

   'os:Windows':
     - match: grain_pcre
     - common

   'windows-minion1':
     - dlp

    'server1':
     - asset

Steps to Reproduce Issue

salt server1 state.highstate -l debug

Below is the debug log.

[DEBUG   ] Reading configuration from /etc/salt/master
[DEBUG   ] Using cached minion ID from /etc/salt/minion_id: 192.168.1.50
[DEBUG   ] Missing configuration file: /root/.saltrc
[DEBUG   ] Configuration file path: /etc/salt/master
[WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
[DEBUG   ] Reading configuration from /etc/salt/master
[DEBUG   ] Using cached minion ID from /etc/salt/minion_id: 192.168.1.50
[DEBUG   ] Missing configuration file: /root/.saltrc
[DEBUG   ] MasterEvent PUB socket URI: /var/run/salt/master/master_event_pub.ipc
[DEBUG   ] MasterEvent PULL socket URI: /var/run/salt/master/master_event_pull.ipc
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506
[DEBUG   ] Trying to connect to: tcp://127.0.0.1:4506
[DEBUG   ] Initializing new IPCClient for path: /var/run/salt/master/master_event_pub.ipc
[DEBUG   ] LazyLoaded local_cache.get_load
[DEBUG   ] Reading minion list from /var/cache/salt/master/jobs/83/f1efbc16081b81c673b2e3db0c770f9f970053caac640a45cd722f3e341410/.minions.p
[DEBUG   ] get_iter_returns for jid 20180906152128443063 sent to set(['server1']) will timeout at 15:21:33.490963
[DEBUG   ] Checking whether jid 20180906152128443063 is still running
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506
[DEBUG   ] Trying to connect to: tcp://127.0.0.1:4506
[DEBUG   ] Passing on saltutil error. Key 'u'retcode' missing from client return. This may be an error in the client.
[DEBUG   ] jid 20180906152128443063 return from server1
[DEBUG   ] return event: {u'server1': {u'jid': u'20180906152128443063', u'retcode': 2, u'ret': {u'no_|-states_|-states_|-None': {u'comment': u'No Top file or master_tops data matches found.', u'__run_num__': 0, u'changes': {}, u'result': False, u'name': u'No States'}}, u'out': u'highstate'}}
[DEBUG   ] LazyLoaded highstate.output
server1:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or master_tops data matches found.
     Changes:   

Summary for server1
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time:   0.000 ms
[DEBUG   ] jid 20180906152128443063 found all minions set([u'server1'])
ERROR: Minions returned with non-zero exit code

Versions Report

salt --versions-report. Both master and minions are running the same version.

salt --versions-report
Salt Version:
           Salt: 2018.3.2

Dependency Versions:
           cffi: Not Installed
       cherrypy: Not Installed
       dateutil: Not Installed
      docker-py: Not Installed
          gitdb: 0.6.4
      gitpython: 1.0.1
          ioflo: Not Installed
         Jinja2: 2.7.2
        libgit2: Not Installed
        libnacl: Not Installed
       M2Crypto: 0.28.2
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 2.7.5 (default, Jul 13 2018, 13:06:57)
   python-gnupg: Not Installed
         PyYAML: 3.11
          PyZMQ: 15.3.0
           RAET: Not Installed
          smmap: 0.9.0
        timelib: Not Installed
        Tornado: 4.2.1
            ZMQ: 4.1.4

System Versions:
           dist: centos 7.5.1804 Core
         locale: UTF-8
        machine: x86_64
        release: 3.10.0-862.11.6.el7.x86_64
         system: Linux
        version: CentOS Linux 7.5.1804 Core

Please help to resolve the issue

damon-atkins commented 6 years ago

Search with issue with win_pkg in the title. You will find some help. However you need to read https://docs.saltstack.com/en/latest/topics/windows/windows-package-manager.html Even though the extension is sls they are not salt state files. They are package definition files and need to be located in the correct location. And the called by a state file which uses pkg.installed

when salt win_minion_name pkg.refresh_db returns results you known you have everything correct.

nkrishnakishor commented 6 years ago

Hi @damon-atkins thanks for the reply.

Please find my master file as below.

cat /etc/salt/master | grep -v '#' | grep -Ev "^$"
file_roots:
  base:
    - /srv/salt
winrepo_dir_ng: '/srv/salt/win/repo-ng'

My package definition file is located under /srv/salt/asset/ and sub directories of /srv/salt/win/repo-ng are as follows.

ls /srv/salt/win/repo-ng/
remote_map.txt  salt-winrepo.git.bak  salt-winrepo-ng asset

and when i execute salt server1 pkg.refresh_db i get the below output.

salt server1 pkg.refresh_db
server1:
    ERROR: Error occurred while generating repo db. Additional info follows:

    failed:
        219
    failed_list:
        ----------
        salt-winrepo.git.bak\7zip.sls:
            - package '7zip' already defined
        salt-winrepo.git.bak\activeperl_x64.sls:
            - package 'activeperl_x64' already defined
        salt-winrepo.git.bak\activeperl_x86.sls:
            - package 'activeperl_x86' already defined
        salt-winrepo.git.bak\adobeair.sls:
            - package 'adobeair' already defined
        salt-winrepo.git.bak\adobereader-dc-classic.sls:
            - package 'adobereader-dc-classic' already defined
        salt-winrepo.git.bak\adobereader-xi.sls:
            - package 'adobereader-xi' already defined
        salt-winrepo.git.bak\adobereader.sls:
            - package 'adobereader' already defined
        salt-winrepo.git.bak\adobeshockwaveplayer.sls:
            - package 'adobeshockwaveplayer' already defined
        salt-winrepo.git.bak\adv-ip-scanner.sls:
            - package 'adv-ip-scanner' already defined
        salt-winrepo.git.bak\adv-port-scanner.sls:
            - package 'adv-port-scanner' already defined
        salt-winrepo.git.bak\advancedlogging.sls:
            - package 'advancedlogging' already defined
        salt-winrepo.git.bak\applicationrequestrouting.sls:
            - package 'applicationrequestrouting' already defined
        salt-winrepo.git.bak\aspnet-mvc1.sls:
            - package 'aspnet-mvc1' already defined
        salt-winrepo.git.bak\atom-msi.sls:
            - package 'atom-msi' already defined
        salt-winrepo.git.bak\atom.sls:
            - package 'atom' already defined
        salt-winrepo.git.bak\audacity.sls:
            - package 'audacity' already defined
        salt-winrepo.git.bak\autohotkey.sls:
            - package 'autohotkey' already defined
        salt-winrepo.git.bak\autoit.sls:
            - package 'autoit' already defined
        salt-winrepo.git.bak\autopsy.sls:
            - package 'autopsy' already defined
        salt-winrepo.git.bak\awscli.sls:
            - package 'awscli' already defined
        salt-winrepo.git.bak\bandizip.sls:
            - package 'bandizip' already defined
        salt-winrepo.git.bak\bginfo4x.sls:
            - package 'bginfo4x' already defined
        salt-winrepo.git.bak\bitnami-nginxstack.sls:
            - package 'bitnami-nginxstack' already defined
        salt-winrepo.git.bak\blender.sls:
            - package 'blender' already defined
        salt-winrepo.git.bak\blender_x86.sls:
            - package 'blender' already defined
        salt-winrepo.git.bak\bootracer.sls:
            - package 'bootracer' already defined
        salt-winrepo.git.bak\bulk_extractor.sls:
            - package 'bulk_extractor' already defined
        salt-winrepo.git.bak\ccleaner.sls:
            - package 'ccleaner' already defined
        salt-winrepo.git.bak\cdburnerxp.sls:
            - package 'cdburnerxp' already defined
        salt-winrepo.git.bak\cdroller.sls:
            - package 'cdroller' already defined
        salt-winrepo.git.bak\check-mk-agent-msi.sls:
            - package 'check-mk-agent-msi' already defined
        salt-winrepo.git.bak\check-mk-agent.sls:
            - Failed to compile 'salt-winrepo.git.bak\check-mk-agent.sls': Conflicting ID 'Not Found'
        salt-winrepo.git.bak\check-mk-agent_x86.sls:
            - Failed to compile 'salt-winrepo.git.bak\check-mk-agent_x86.sls': Conflicting ID 'Not Found'
        salt-winrepo.git.bak\chocolatey.sls:
            - package 'chocolatey' already defined
        salt-winrepo.git.bak\chrome.sls:
            - package 'chrome' already defined
        salt-winrepo.git.bak\clamwin.sls:
            - package 'clamwin' already defined
        salt-winrepo.git.bak\clink.sls:
            - package 'clink' already defined
        salt-winrepo.git.bak\conemu.sls:
            - package 'conemu' already defined
        salt-winrepo.git.bak\cpu-z.sls:
            - package 'cpu-z' already defined
        salt-winrepo.git.bak\curl.sls:
            - package 'curl' already defined
        salt-winrepo.git.bak\cyberduck-cli.sls:
            - package 'cyberduck-cli' already defined
        salt-winrepo.git.bak\cyberduck.sls:
            - package 'cyberduck' already defined
        salt-winrepo.git.bak\defraggler.sls:
            - package 'defraggler' already defined
        salt-winrepo.git.bak\dotnet.sls:
            - package 'dotnet' already defined
        salt-winrepo.git.bak\duplicati.sls:
            - package 'duplicati' already defined
        salt-winrepo.git.bak\duplicati_x86.sls:
            - package 'duplicati_x86', repo data for version number skip_urltest is not defined as a dictionary 
        salt-winrepo.git.bak\dvdstyler.sls:
            - package 'dvdstyler' already defined
        salt-winrepo.git.bak\eea.sls:
            - package 'eea' already defined
        salt-winrepo.git.bak\emet.sls:
            - package 'emet' already defined
        salt-winrepo.git.bak\emsisoft-anti-malware.sls:
            - package 'emsisoft-anti-malware' already defined
        salt-winrepo.git.bak\evernote.sls:
            - package 'evernote' already defined
        salt-winrepo.git.bak\fiddler.sls:
            - package 'fiddler' already defined
        salt-winrepo.git.bak\filehippo-app-manager.sls:
            - package 'filehippo-app-manager' already defined
        salt-winrepo.git.bak\filezilla.sls:
            - package 'filezilla' already defined
        salt-winrepo.git.bak\firefox-esr.sls:
            - package 'firefox-esr' already defined
        salt-winrepo.git.bak\firefox.sls:
            - package 'firefox' already defined
        salt-winrepo.git.bak\gedit.sls:
            - package 'gedit' already defined
        salt-winrepo.git.bak\gimp.sls:
            - package 'gimp' already defined
        salt-winrepo.git.bak\git-extensions.sls:
            - package 'git-extensions' already defined
        salt-winrepo.git.bak\git.sls:
            - package 'git' already defined
        salt-winrepo.git.bak\glarysoft-absolute-uninstaller.sls:
            - package 'glarysoft-absolute-uninstaller' already defined
        salt-winrepo.git.bak\gnucash.sls:
            - package 'gnucash' already defined
        salt-winrepo.git.bak\golang.sls:
            - package 'golang' already defined
        salt-winrepo.git.bak\goodsync.sls:
            - package 'goodsync' already defined
        salt-winrepo.git.bak\gow.sls:
            - package 'gow' already defined
        salt-winrepo.git.bak\gpg4win-light.sls:
            - package 'gpg4win-light' already defined
        salt-winrepo.git.bak\gpg4win-vanilla.sls:
            - package 'gpg4win-vanilla' already defined
        salt-winrepo.git.bak\gpg4win.sls:
            - package 'gpg4win' already defined
        salt-winrepo.git.bak\gpu-z.sls:
            - package 'gpu-z' already defined
        salt-winrepo.git.bak\grepwin.sls:
            - package 'grepwin' already defined
        salt-winrepo.git.bak\gvim.sls:
            - package 'gvim' already defined
        salt-winrepo.git.bak\handbrake.sls:
            - package 'handbrake' already defined
        salt-winrepo.git.bak\ice.sls:
            - package 'ice' already defined
        salt-winrepo.git.bak\icecast.sls:
            - package 'icecast' already defined
        salt-winrepo.git.bak\icloud.sls:
            - package 'icloud' already defined
        salt-winrepo.git.bak\iismediaservices.sls:
            - package 'iismediaservices' already defined
        salt-winrepo.git.bak\influx-capacitor.sls:
            - package 'influx-capacitor' already defined
        salt-winrepo.git.bak\infrarecorder.sls:
            - package 'infrarecorder' already defined
        salt-winrepo.git.bak\inkscape.sls:
            - package 'inkscape' already defined
        salt-winrepo.git.bak\intellij.sls:
            - package 'intellij-community' already defined
        salt-winrepo.git.bak\internet-evidence-finder.sls:
            - package 'internet-evidence-finder' already defined
        salt-winrepo.git.bak\irfanview-plugins.sls:
            - package 'irfanview-plugins' already defined
        salt-winrepo.git.bak\irfanview.sls:
            - package 'irfanview' already defined
        salt-winrepo.git.bak\isapirewrite-lite.sls:
            - package 'isapirewrite-lite' already defined
        salt-winrepo.git.bak\itunes.sls:
            - package 'itunes' already defined
        salt-winrepo.git.bak\jre.sls:
            - package 'jre' already defined
        salt-winrepo.git.bak\jre8.sls:
            - package 'jre8' already defined
        salt-winrepo.git.bak\kdiff3.sls:
            - package 'kdiff3' already defined
        salt-winrepo.git.bak\keepass-2x.sls:
            - package 'keepass-2x' already defined
        salt-winrepo.git.bak\keepass.sls:
            - package 'keepass' already defined
        salt-winrepo.git.bak\libreoffice.sls:
            - Failed to compile 'salt-winrepo.git.bak\libreoffice.sls': while parsing a block mapping
                in "<string>", line 3, column 5:
                      full_name: 'LibreOffice 5.2.4'
                      ^
              expected <block end>, but found '<scalar>'
                in "<string>", line 7, column 23:
                      uninstall_flags: '/qn /norestart'
                                        ^
        salt-winrepo.git.bak\logparser.sls:
            - package 'logparser' already defined
        salt-winrepo.git.bak\malwarebytes.sls:
            - package 'malwarebytes' already defined
        salt-winrepo.git.bak\messageanalyzer.sls:
            - package 'messageanalyzer' already defined
        salt-winrepo.git.bak\microsoft-build-tools.sls:
            - package 'microsoft-build-tools' already defined
        salt-winrepo.git.bak\mikogo.sls:
            - package 'mikogo' already defined
        salt-winrepo.git.bak\miktex-basic.sls:
            - package 'miktex-basic' already defined
        salt-winrepo.git.bak\mongodb.sls:
            - package 'mongodb' already defined
        salt-winrepo.git.bak\ms-mbsa.sls:
            - package 'ms-mbsa' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-atl-redist_x64.sls:
            - package 'ms-vcpp-2005-atl-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-atl-redist_x86.sls:
            - package 'ms-vcpp-2005-atl-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-redist_x64.sls:
            - package 'ms-vcpp-2005-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-redist_x86.sls:
            - package 'ms-vcpp-2005-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-sp1-mfc-redist_x64.sls:
            - package 'ms-vcpp-2005-sp1-mfc-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-sp1-mfc-redist_x86.sls:
            - package 'ms-vcpp-2005-sp1-mfc-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-sp1-redist_x64.sls:
            - package 'ms-vcpp-2005-sp1-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2005-sp1-redist_x86.sls:
            - package 'ms-vcpp-2005-sp1-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-redist_x64.sls:
            - package 'ms-vcpp-2008-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-redist_x86.sls:
            - package 'ms-vcpp-2008-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-sp1-atl-redist_x64.sls:
            - package 'ms-vcpp-2008-sp1-atl-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-sp1-atl-redist_x86.sls:
            - package 'ms-vcpp-2008-sp1-atl-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-sp1-mfc-redist_x64.sls:
            - package 'ms-vcpp-2008-sp1-mfc-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2008-sp1-mfc-redist_x86.sls:
            - package 'ms-vcpp-2008-sp1-mfc-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2010-sp1-mfc-redist_x64.sls:
            - package 'ms-vcpp-2010-sp1-mfc-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2010-sp1-mfc-redist_x86.sls:
            - package 'ms-vcpp-2010-sp1-mfc-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2012-redist_x64.sls:
            - package 'ms-vcpp-2012-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2012-redist_x86.sls:
            - package 'ms-vcpp-2012-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2013-redist_x64.sls:
            - package 'ms-vcpp-2013-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2013-redist_x86.sls:
            - package 'ms-vcpp-2013-redist_x86' already defined
        salt-winrepo.git.bak\ms-vcpp-2015-redist_x64.sls:
            - package 'ms-vcpp-2015-redist_x64' already defined
        salt-winrepo.git.bak\ms-vcpp-2015-redist_x86.sls:
            - package 'ms-vcpp-2015-redist_x86' already defined
        salt-winrepo.git.bak\mysql-essential.sls:
            - package 'mysql-essential' already defined
        salt-winrepo.git.bak\mysql-installer-community.sls:
            - package 'mysql-installer-community' already defined
        salt-winrepo.git.bak\never10.sls:
            - package 'never10' already defined
        salt-winrepo.git.bak\nmap.sls:
            - package 'nmap' already defined
        salt-winrepo.git.bak\node.js-lts.sls:
            - package 'node.js-lts' already defined
        salt-winrepo.git.bak\node.js.sls:
            - package 'node.js' already defined
        salt-winrepo.git.bak\npp.sls:
            - package 'npp' already defined
        salt-winrepo.git.bak\nsclient.sls:
            - package 'nsclient' already defined
        salt-winrepo.git.bak\nsis.sls:
            - package 'nsis' already defined
        salt-winrepo.git.bak\nxlog.sls:
            - package 'nxlog' already defined
        salt-winrepo.git.bak\octopus-tentacle.sls:
            - package 'octopus-tentacle' already defined
        salt-winrepo.git.bak\openlp.sls:
            - package 'openlp' already defined
        salt-winrepo.git.bak\openoffice.sls:
            - package 'openoffice' already defined
        salt-winrepo.git.bak\openvpn.sls:
            - package 'openvpn' already defined
        salt-winrepo.git.bak\ossec-agent.sls:
            - package 'ossec-agent' already defined
        salt-winrepo.git.bak\owncloud.sls:
            - package 'owncloud' already defined
        salt-winrepo.git.bak\pandoc.sls:
            - package 'pandoc' already defined
        salt-winrepo.git.bak\pass4win.sls:
            - package 'pass4win' already defined
        salt-winrepo.git.bak\passware-kit-agent.sls:
            - package 'passware-kit-agent' already defined
        salt-winrepo.git.bak\passware-kit-forensic.sls:
            - package 'passware-kit-forensic' already defined
        salt-winrepo.git.bak\patchmypc-free.sls:
            - package 'patchmypc-free' already defined
        salt-winrepo.git.bak\pdf24creator.sls:
            - package 'pdf24creator' already defined
        salt-winrepo.git.bak\pdfcreator.sls:
            - package 'pdfcreator' already defined
        salt-winrepo.git.bak\peazip.sls:
            - package 'peazip' already defined
        salt-winrepo.git.bak\pgina.sls:
            - package 'pgina' already defined
        salt-winrepo.git.bak\pidgin.sls:
            - package 'pidgin' already defined
        salt-winrepo.git.bak\postgresql.sls:
            - package 'postgresql' already defined
        salt-winrepo.git.bak\putty.sls:
            - package 'putty' already defined
        salt-winrepo.git.bak\python2_x64.sls:
            - package 'python2_x64' already defined
        salt-winrepo.git.bak\python2_x86.sls:
            - package 'python2_x86' already defined
        salt-winrepo.git.bak\python3_x64.sls:
            - package 'python3_x64' already defined
        salt-winrepo.git.bak\python3_x86.sls:
            - package 'python3_x86' already defined
        salt-winrepo.git.bak\qemu.sls:
            - package 'qemu' already defined
        salt-winrepo.git.bak\quicktime.sls:
            - package 'quicktime' already defined
        salt-winrepo.git.bak\rdcman.sls:
            - package 'rdcman' already defined
        salt-winrepo.git.bak\rubyinstaller_x64.sls:
            - package 'rubyinstaller_x64' already defined
        salt-winrepo.git.bak\rubyinstaller_x86.sls:
            - package 'rubyinstaller_x86' already defined
        salt-winrepo.git.bak\sandboxie.sls:
            - package 'sandboxie' already defined
        salt-winrepo.git.bak\secunia.psi.sls:
            - package 'secunia.psi' already defined
        salt-winrepo.git.bak\sensu.sls:
            - package 'sensu' already defined
        salt-winrepo.git.bak\sharpdevelop.sls:
            - package 'sharpdevelop' already defined
        salt-winrepo.git.bak\skitch.sls:
            - package 'skitch' already defined
        salt-winrepo.git.bak\skype-msi.sls:
            - package 'skype-msi' already defined
        salt-winrepo.git.bak\slack-msi.sls:
            - package 'slack-msi' already defined
        salt-winrepo.git.bak\slack.sls:
            - package 'slack' already defined
        salt-winrepo.git.bak\smartmontools.sls:
            - package 'smartmontools' already defined
        salt-winrepo.git.bak\snmptools.sls:
            - package 'snmptools' already defined
        salt-winrepo.git.bak\software-informer.sls:
            - package 'software-informer' already defined
        salt-winrepo.git.bak\sourcetree.sls:
            - package 'sourcetree' already defined
        salt-winrepo.git.bak\spybot-anti-beacon.sls:
            - package 'spybot-anti-beacon' already defined
        salt-winrepo.git.bak\spybot.sls:
            - package 'spybot' already defined
        salt-winrepo.git.bak\sscserv-free.sls:
            - package 'sscserv-free' already defined
        salt-winrepo.git.bak\stellarium.sls:
            - package 'stellarium' already defined
        salt-winrepo.git.bak\strawberryperl_x64.sls:
            - package 'strawberryperl_x64' already defined
        salt-winrepo.git.bak\strawberryperl_x86.sls:
            - package 'strawberryperl_x86' already defined
        salt-winrepo.git.bak\stunnel.sls:
            - package 'stunnel' already defined
        salt-winrepo.git.bak\subinacl.sls:
            - package 'subinacl' already defined
        salt-winrepo.git.bak\sums.sls:
            - package 'sums' already defined
        salt-winrepo.git.bak\svn.sls:
            - package 'svn' already defined
        salt-winrepo.git.bak\teamviewer.sls:
            - package 'teamviewer' already defined
        salt-winrepo.git.bak\teracopy.sls:
            - package 'teracopy' already defined
        salt-winrepo.git.bak\texmaker.sls:
            - package 'texmaker' already defined
        salt-winrepo.git.bak\texniccenter.sls:
            - package 'texniccenter' already defined
        salt-winrepo.git.bak\texstudio.sls:
            - package 'texstudio' already defined
        salt-winrepo.git.bak\texworks.sls:
            - package 'texworks' already defined
        salt-winrepo.git.bak\thunderbird.sls:
            - package 'thunderbird' already defined
        salt-winrepo.git.bak\tightvnc.sls:
            - package 'tightvnc' already defined
        salt-winrepo.git.bak\todotxt.net.sls:
            - package 'todotxt.net' already defined
        salt-winrepo.git.bak\todour.sls:
            - package 'todour' already defined
        salt-winrepo.git.bak\tortoise-bzr.sls:
            - package 'tortoise-bzr' already defined
        salt-winrepo.git.bak\tortoise-git.sls:
            - package 'tortoise-git' already defined
        salt-winrepo.git.bak\tortoise-hg.sls:
            - package 'tortoise-hg' already defined
        salt-winrepo.git.bak\tortoise-svn.sls:
            - package 'tortoise-svn' already defined
        salt-winrepo.git.bak\truecrypt.sls:
            - package 'truecrypt' already defined
        salt-winrepo.git.bak\ultradefrag.sls:
            - package 'ultradefrag' already defined
        salt-winrepo.git.bak\urlrewrite.sls:
            - package 'urlrewrite' already defined
        salt-winrepo.git.bak\vagrant.sls:
            - package 'vagrant' already defined
        salt-winrepo.git.bak\vcforpython27.sls:
            - package 'vcforpython27' already defined
        salt-winrepo.git.bak\vcredist2010_x64.sls:
            - package 'vcredist2010_x64' already defined
        salt-winrepo.git.bak\vcredist2010_x86.sls:
            - package 'vcredist2010_x86' already defined
        salt-winrepo.git.bak\virtualbox.sls:
            - package 'virtualbox' already defined
        salt-winrepo.git.bak\vlc.sls:
            - package 'vlc' already defined
        salt-winrepo.git.bak\vsee.sls:
            - package 'vsee' already defined
        salt-winrepo.git.bak\wamp-server-3.sls:
            - package 'wamp-server-3' already defined
        salt-winrepo.git.bak\wamp-server.sls:
            - package 'wamp-server' already defined
        salt-winrepo.git.bak\wamp-stack.sls:
            - package 'wamp-stack' already defined
        salt-winrepo.git.bak\webdeploy.sls:
            - package 'webdeploy' already defined
        salt-winrepo.git.bak\webplatforminstaller.sls:
            - package 'webplatforminstaller' already defined
        salt-winrepo.git.bak\win-app-manager.sls:
            - package 'win-app-manager' already defined
        salt-winrepo.git.bak\windirstat.sls:
            - package 'windirstat' already defined
        salt-winrepo.git.bak\winhttpcertcfg.sls:
            - package 'winhttpcertcfg' already defined
        salt-winrepo.git.bak\winmerge.sls:
            - package 'winmerge' already defined
        salt-winrepo.git.bak\winpcap.sls:
            - package 'winpcap' already defined
        salt-winrepo.git.bak\winscp.sls:
            - package 'winscp' already defined
        salt-winrepo.git.bak\wireshark.sls:
            - package 'wireshark' already defined
        salt-winrepo.git.bak\wscc.sls:
            - package 'wscc' already defined
        salt-winrepo.git.bak\xampp.sls:
            - package 'xampp' already defined
        salt-winrepo.git.bak\xming.sls:
            - package 'xming' already defined
    success:
        343
    total:
        562

I'm able to ping the server but could execute highstate.

damon-atkins commented 6 years ago
ls /srv/salt/win/repo-ng/
remote_map.txt  salt-winrepo.git.bak  salt-winrepo-ng asset

You can not have two definitions. salt-winrepo.git.bak will be cause 95% of the errors.

And this asset.sls a package definition

asset:
  latest:
    installer: 'salt://win/repo-ng/asset-client/asset.msi'
    full_name: asset
    installer_flags: '/qn norestart'
    reboot: False
    uninstaller: 'salt://win/repo-ng/asset-client/asset.msi'
    uninstaller_flags: '/qn norestart'
    msiexec: True
    locale: en_US

Needs to be in /srv/salt/win/repo-ng/ (i.e. only place package definitions in here)

And asset_install.sls

asset:
  pkg.installed

Needs to be in /srv/salt/

# /srv/salt/top.sls file contains all the configuration required
 base:
    'server1':
     - asset_install
damon-atkins commented 6 years ago

Pls change the title of the issue title too

win_pkg: need help with pkg install and definitions location

nkrishnakishor commented 6 years ago

@damon-atkins thanks for the reply.

I have modified as suggested and run higstate.

/srv/salt/win/

├── repo
│   ├── remote_map.txt
│   └── salt-winrepo
└── repo-ng
        ├── asset-Client
        ├── asset.sls
        ├── remote_map.txt
        ├── salt-winrepo-ng
# ls /srv/salt/
asset_install.sls  top.sls  win
# cat /srv/salt/top.sls
# /srv/salt/top.sls file contains all the configuration required
 base:
    'server1':
     - asset_install

But this time a different error.

salt server1 state.highstate -l debug

[DEBUG ] Reading configuration from /etc/salt/master [DEBUG ] Using cached minion ID from /etc/salt/minion_id: 192.168.1.50 [DEBUG ] Missing configuration file: /root/.saltrc [DEBUG ] Configuration file path: /etc/salt/master [WARNING ] Insecure logging configuration detected! Sensitive data may be logged. [DEBUG ] Reading configuration from /etc/salt/master [DEBUG ] Using cached minion ID from /etc/salt/minion_id: 192.168.1.50 [DEBUG ] Missing configuration file: /root/.saltrc [DEBUG ] MasterEvent PUB socket URI: /var/run/salt/master/master_event_pub.ipc [DEBUG ] MasterEvent PULL socket URI: /var/run/salt/master/master_event_pull.ipc [DEBUG ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear') [DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506 [DEBUG ] Trying to connect to: tcp://127.0.0.1:4506 [DEBUG ] Initializing new IPCClient for path: /var/run/salt/master/master_event_pub.ipc [DEBUG ] LazyLoaded local_cache.get_load [DEBUG ] Reading minion list from /var/cache/salt/master/jobs/30/2a9a562853775bce4dfa272bd8d6deb4fb5a41eb698025b01a200ebf2ef1a2/.minions.p [DEBUG ] get_iter_returns for jid 20180910142454514699 sent to set(['server1']) will timeout at 14:24:59.562135 [DEBUG ] Checking whether jid 20180910142454514699 is still running [DEBUG ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear') [DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506 [DEBUG ] Trying to connect to: tcp://127.0.0.1:4506 [DEBUG ] Passing on saltutil error. Key 'u'retcode' missing from client return. This may be an error in the client. [DEBUG ] Checking whether jid 20180910142454514699 is still running [DEBUG ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear') [DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506 [DEBUG ] Trying to connect to: tcp://127.0.0.1:4506 [DEBUG ] Passing on saltutil error. Key 'u'retcode' missing from client return. This may be an error in the client. [DEBUG ] Checking whether jid 20180910142454514699 is still running [DEBUG ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50_master', u'tcp://127.0.0.1:4506', u'clear') [DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506 [DEBUG ] Trying to connect to: tcp://127.0.0.1:4506 [DEBUG ] Passing on saltutil error. Key 'u'retcode' missing from client return. This may be an error in the client. [DEBUG ] Checking whether jid 20180910142454514699 is still running [DEBUG ] Initializing new AsyncZeroMQReqChannel for (u'/etc/salt/pki/master', u'192.168.1.50master', u'tcp://127.0.0.1:4506', u'clear') [DEBUG ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506 [DEBUG ] Trying to connect to: tcp://127.0.0.1:4506 [DEBUG ] Passing on saltutil error. Key 'u'retcode' missing from client return. This may be an error in the client. [DEBUG ] jid 20180910142454514699 return from server1 [DEBUG ] return event: {u'server1': {u'jid': u'20180910142454514699', u'retcode': 2, u'ret': {u'pkg|-asset|-asset|-installed': {u'comment': u'The following packages failed to install/update: asset=12.41.15619', u'name': u'asset', u'start_time': u'01:55:10.512000', u'result': False, u'duration': 21127.0, u'run_num': 0, u'sls__': u'asset_install', u'changes': {u'asset': {u'unable to cache': u'salt://win/repo-ng/asset-client/asset.msi'}}, u'id__': u'asset'}}, u'out': u'highstate'}} [DEBUG ] LazyLoaded highstate.output [DEBUG ] LazyLoaded nested.output server1:

      ID: asset
Function: pkg.installed
  Result: False
 Comment: The following packages failed to install/update: asset=12.41.15619
 Started: 01:55:10.512000
Duration: 21127.0 ms
 Changes:   
          ----------
          asset:
              ----------
              unable to cache:
                  salt://win/repo-ng/asset-client/asset.msi

Summary for server1

Succeeded: 0 (changed=1) Failed: 1

Total states run: 1 Total run time: 21.127 s [DEBUG ] jid 20180910142454514699 found all minions set([u'server1']) ERROR: Minions returned with non-zero exit code

damon-atkins commented 6 years ago

Unlike Windows, Unix/Linux is case sensitive. salt://win/repo-ng/asset-client/.... does not equal /srv/salt/win/asset-Client/.... Best place to debug items is on the minion. e.g.

salt-call pkg.refresh_db 
salt-call -l debug pkg.install asset
nkrishnakishor commented 6 years ago

@damon-atkins thanks for the reply.

I have tried as suggested in minion but get the same error.

Please suggest.

damon-atkins commented 6 years ago

Make everything lowercase on the master (files/directories) and in the configuration files

nkrishnakishor commented 6 years ago

@damon-atkins thanks for the reply.

I have checked the file contents and run below command from minion and got error as below.

salt-call state.sls asset_install -l debug

error_install

Can you hep me out.

damon-atkins commented 6 years ago

When you run salt-call you need to be Command Prompt with Run as Admin

cd \salt
salt-call -l debug state.sls asset_install

You also need to make sure the package definition has flags for a silent install.

Looks like your getting closer.

nkrishnakishor commented 6 years ago

@damon-atkins thanks for the reply.

Finally able to install the package from master but i need to start a service for the application to run successfully. How can we accomplish it.

One more point, i need to restart the minion before installing the package. How can i accomplish it.

salt server1 pkg.install asset_install
windows-minion1:
    ----------
    asset:
        ----------
        install status:
            success
nkrishnakishor commented 5 years ago

can anyone help out further ?

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

If this issue is closed prematurely, please leave a comment and we will gladly reopen the issue.