SaltStack и GitFS - Не са открити съвпадения на данни от най-горния файл или външни възли

Ето моята конфигурация /etc/salt/master:

#GitFS
gitfs_provider: pygit2
gitfs_base: DEVELOPMENT
gitfs_env_whitelist:
  - base

fileserver_backend:
  - git
gitfs_remotes:
  - ssh://[email protected]/myrepo/salt-states.git:
    - pubkey: /root/.ssh/my.pub
    - privkey: /root/.ssh/my
    - mountpoint: salt:///srv/salt/salt-states

Ето структурата на моята директория за репо:

.
|-- README.md
|-- formulas
|   `-- test
|       |-- test.sls
`-- top.sls

Ето моя основен top.sl:

base:
  '*':
    - test

Ако се опитам да стартирам highstate на моя тестов възел, получавам:

root@saltmaster:/etc/salt] salt -v '*' state.highstate
Executing job with jid 1234567890
-------------------------------------------

test-minion.domain:
----------
          ID: states
    Function: no.None
      Result: False
     Comment: No Top file or external nodes data matches found.
     Started:
    Duration:
     Changes:

Summary for test-minion.domain
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time:   0.000 ms

Не съм сигурен защо това не работи и ще бъда благодарен за всякаква помощ с това. Опитах просто да приложа test.sls, за да видя дали проблемът е най-горният файл, но получих това:

root@saltmaster:/etc/salt] salt -v '*' state.sls test
Executing job with jid 1234567890
-------------------------------------------

test-minion.domain:
    Data failed to compile:
----------
    No matching sls found for 'test' in env 'base'

person Kryten    schedule 10.12.2015    source източник
comment
Няма намерени съвпадащи sls за „тест“ в env „база“ сочи към факта, че „тест“ не е състояние, в показаната репо структура, то е под формули. За да използвате както в горната препратка към файла, той трябва да бъде под сол/test.sls.   -  person Efren    schedule 03.06.2016


Отговори (2)


Имах подобен проблем, който се дължи на това, че кеша не е синхронизиран и не се актуализира. Ако се опитах да избягам:

salt-run fileserver.update

Имам:

[ПРЕДУПРЕЖДЕНИЕ] Файлът за заключване на актуализацията присъства за gitfs дистанционен „[email protected]:mention-me/Salt.git“, пропуска се. Ако това предупреждение продължава, възможно е процесът на актуализиране да е бил прекъснат, но заключването може също да е зададено ръчно. Премахването на /var/cache/salt/master/gitfs/7d8d9790a933949777fd5a58284b8850/.git/update.lk или стартирането на 'salt-run cache.clear_git_lock gitfs type=update' ще позволи актуализациите да продължат за това дистанционно.

Изтриването на посочения кеш файл и изпълнението на горната команда коригираха проблема.

person edhgoose    schedule 04.05.2016
comment
Благодаря за прозрението! - person Kryten; 03.06.2016

Говорих с хората от IRC на saltstack и някой ми помогна да реша проблема. Изглежда, че добавянето на точка на монтиране прецаква всичко. Заслугата е към:

12:20] ==  realname : Thomas Phipps
[12:20] ==  channels : #salt
[12:20] ==  server   : orwell.freenode.net [NL]
[12:20] ==           : is using a secure connection
[12:20] ==  account  : whytewolf
[12:20] == End of WHOIS
person Kryten    schedule 10.12.2015
comment
Премахването на точката на монтиране поправи ли го? Опитах се да премахна gitfs config, рестартирам главния и все още имам проблема. Необходимо ли е да изчистите кеша, както и споменатия отговор на @edhgoose? - person Efren; 01.06.2016
comment
Да и на двата въпроса - person Kryten; 03.06.2016
comment
Благодаря @pullsumo. Не успях да възстановя главния файл, вероятно съм изтрил твърде много неща, така че след преинсталиране, във версия 2015.5.8, точката на монтиране поне работи, каквото си заслужава. - person Efren; 06.06.2016