
Andor
03.09.2018
12:42:40
syntax error
а зачем 'OHS_OUT\='?
точнее зачем там \

dk
03.09.2018
12:43:56
> syntax error
Ну, я на ощупь

Google

Andor
03.09.2018
12:44:08
там минимум в двух местах syntax error
кавычку не закрыл и = вместо =>

dk
03.09.2018
12:45:04
Обратный слеш - т.к. это регулярка, хотя равно можно и без него, думаю

Andor
03.09.2018
12:45:35
ну это не линт, это syntax
lint на другое бы поругался
а какое значение у символа = в регулярках?

dk
03.09.2018
12:45:58
Линт синтаксис тоже чекает

Andor
03.09.2018
12:46:52
были случаи в моей практике что линт говорил что всё ок, а синтакс ругался

Protos
03.09.2018
12:47:21

dk
03.09.2018
12:47:40

Protos
03.09.2018
12:48:13

Google

Максималист
03.09.2018
13:30:37
таааак
пацаны что за нафиг -
создаю класс - > test_cl.pp
class test_logging::test_cl()
{
какой то код
}
создаю манифест -> test_manifest.pp
class { 'test_logging::test_cl': }
запускаю всю эту балалайку из pwd - /installs/git/puppet-server/environments/develop/modules/ohs_install/manifests
вот такой командой
puppet apply --modulepath /etc/puppet/modules:/installs/git/puppet-server/environments/develop/modules /installs/git/puppet-server/environments/develop/modules/ohs_install/manifests/test_manifest.pp --debug > /var/tmp/test_manifest.out
и получаю
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class test_logging::test_cl at /installs/git/puppet-server/environments/develop/modules/ohs_install/manifests/test_manifest.pp:1 on node solaris-qf-zone1
Wrapped exception:
Could not find declared class test_logging::test_cl

Protos
03.09.2018
13:55:33
test_manifest.pp
test_cl
имя манифеста = имени класса запомни уже


Максималист
03.09.2018
14:00:04
тоесть меняем test_manifest.pp на test_logging.pp
манифест
потому как test_logging как класс у меня объявлено

Andor
03.09.2018
14:01:56
lint сразу бы это показал

Protos
03.09.2018
14:02:38


Максималист
03.09.2018
14:08:19
Давай ты обьяснишь как предсставляешь себе иерархию этого добра?
1, манифест который объявляет себя и класс который вызывает
test_logging.pp
class { 'test_logging::test_cl': }
2. есть класс который выполняет действие и в начале класс объявляем к кому он принадлежит
class test_logging::test_cl()
{
...
}
3. С помощью командной строки задаем директории которые нужно смотреть папету и сам манифест который нужно выполнить
puppet apply --modulepath /etc/puppet/modules:/installs/git/puppet-server/environments/develop/modules /installs/git/puppet-server/environments/develop/modules/ohs_install/manifests/test_logging.pp --debug > /var/tmp/test_cl.pp.out
и получаю ту же ошибку
Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class test_logging::test_cl at /installs/git/puppet-server/environments/develop/modules/ohs_install/manifests/test_logging.pp:1 on solaris-qf-zone1
Wrapped exception:
Could not find declared class test_logging::test_cl
да я туплю походу
жутко


Protos
03.09.2018
14:10:06
Давай на пальцах.
Есть некая папочка с именем test внутри этой папки есть папка manifests где лежит файл с именем test.pp внутри этого файла у нас есть class test::module
Где ошибка?

dk
03.09.2018
14:10:54
test.pp -> module.pp

Protos
03.09.2018
14:11:03
Это была загадка
Але

Google

Максималист
03.09.2018
14:18:46
так читаю
/test -> /manifest -> testp.pp -> class test::module
тогда test.pp будет вызывать module.pp
но ты писал Kadyrov_95, [03.09.18 16:56]
имя манифеста = имени класса запомни уже

Protos
03.09.2018
14:22:04

Максималист
03.09.2018
14:22:18
тогда класс module.pp

Andor
03.09.2018
14:22:49
В директории manifests/test/module.pp

Protos
03.09.2018
14:24:10
тогда класс module.pp
Короче еще раз там прямая зависимость если ты допустим делаешь класс test::test То у тебя иерархия директорий должна выглядеть например test/manifests/test.pp

Максималист
03.09.2018
14:25:42
test.pp завотся класс или манифест который его вызывает ???
потому как на прямую я же класс не вызываю

Protos
03.09.2018
14:27:10
Помоему это уже кидали

Максималист
03.09.2018
14:27:58
неа
засерчил в чате

Protos
03.09.2018
14:28:37
Ну ознакомься значит

Максималист
03.09.2018
14:28:58
хорошо, прочту тогда загадки

Protos
03.09.2018
14:29:59
Classes should be stored in their module’s manifests/ directory as one class per file, and each filename should reflect the name of its class; see Module Fundamentals and Namespaces and Autoloading for more details.

Максималист
03.09.2018
14:30:33

Protos
03.09.2018
14:30:36
A file in the same module whose corresponding class name is a truncated version of this class’s name. That is, the class first::second::third could be put in first::second’s file, first/manifests/second.pp

Максималист
03.09.2018
14:31:45
а вот если -
Invalid resource type file_line
значит папет не потдерживает такое?

Google

Максималист
03.09.2018
14:31:53
туплю
загуглю версию 3.6

Protos
03.09.2018
14:32:27
А даже не надо у тебя stdlib невключен наверное

Максималист
03.09.2018
14:35:28
неа нету
а сек
puppet module list
/etc/puppet/modules
├── puppetlabs-ntp (v4.2.0)
├── puppetlabs-stdlib (v4.24.0)
все хозяйство

Andor
03.09.2018
14:36:41
file_line в отдельном модуле

Protos
03.09.2018
15:35:23
Кстати
А есть резон гонять класс через руби бьютифаер?
Чтоб выглядело прилично
Или он поломает чего?

Andor
03.09.2018
15:37:22
при чём тут руби?

Protos
03.09.2018
15:37:35
Самое близкое поидее руби

Andor
03.09.2018
15:38:00
вообще puppet это другой язык
вообще у lint есть опция типа --fix что ли
-f, --fix Attempt to automatically fix errors

Protos
03.09.2018
15:39:34
Ну разве он бьютить будет?

Google

Protos
03.09.2018
15:39:56
Я просто задумаюсь гденить табов понатыкаю а потом оно выглядит как размазня

Iurii
03.09.2018
15:40:58
табы зло только пробелы

Protos
03.09.2018
15:41:31
Вот и хочу тому бьютифаер
Была мысля сунуть в рубиновый
Но вот сказали не комильфо

Andor
03.09.2018
15:41:57
от питона сунь
или от golang

Protos
03.09.2018
15:42:08
Ща чекну

Andor
03.09.2018
15:42:18
смысл тот же будет

Protos
03.09.2018
15:42:40
А это был сарказм
Ок

Iurii
03.09.2018
15:42:45
а линт чем плох?

Холм
03.09.2018
16:12:01

Iurii
03.09.2018
16:13:00
Чувак юзай линт и бакер

Protos
03.09.2018
16:14:32
Я уже придумал как фиксить норм табы

Iurii
03.09.2018
16:14:55
мда

Холм
03.09.2018
16:15:13
Ну паппет это не питон. И так работать будет.

Iurii
03.09.2018
16:15:14
я придумал фиксить табы грепом и сидом ну ок

Холм
03.09.2018
16:15:32

Iurii
03.09.2018
16:15:54