Puppet semodule: how to add a .te file? - puppet

I'm using https://forge.puppetlabs.com/spiette/selinux
In site.pp for a node where I want the module installed I have:
selinux::module { "varnishlnkfile":
ensure => "present",
source => "puppet:///modules/selinux/modules",
}
and I'm getting:
err: /File[/varnishlnkfile.te]: Could not evaluate: Could not retrieve information from environment development source(s) puppet:///modules/selinux/varnishlnkfile.te at /etc/puppet/modules/selinux/manifests/module.pp:52
I found this GitHub issue https://github.com/spiette/puppet-selinux/issues/5 but following it does not change anything.
The .te file is in:
/etc/puppet/modules/selinux/varnishlnkfile.te
Earlier it was in:
/etc/puppet/modules/selinux/modules/varnishlnkfile.te
and the error message was the same.

The correct URL for the agent to retrieve /etc/puppet/modules/selinux/varnishlnkfile.te is
puppet:///modules/selinux/varnishlnkfile.te
For /etc/puppet/modules/selinux/modules/varnishlnkfile.te it's
puppet:///modules/selinux/modules/varnishlnkfile.te
The error does not seem to relate to the manifest you pasted. If this doesn't help, please clean up your question with one consistent set of information.

Related

snapcraft cannot pull from source

I am trying to build a snap package. Whenever I run snapcraft I keep getting this error:
Failed to pull source: './local/my-app.zip'.
Please ensure the source path is correct and that it is accessible.
See "snapcraft help sources" for more information.
This is the source from my snapcraft.yaml:
parts:
my-part:
# See 'snapcraft plugins'
source: "./local/my-app.zip"
plugin: dump
And this is the result of ls local in the "snap" folder:
salihu#penguin:~/my-app/dist/my-apps/my-app-snap/snap$ ls local
my-app.zip
You don't need to include the "./" part of the path. It seems to throw things off. Should work with this:
parts:
my-part:
# See 'snapcraft plugins'
source: local/my-app.zip
plugin: dump

What's the normal procedure for finding the name of the necessary ESLint package based on the config name given in the error message?

I was just struggling with the error below in my IDE for a frustratingly-long time:
ESLint: Error: Failed to load config "#vue/typescript" to extend from.
After a lot of Googling and running commands I found online, I eventually found that what (seemed to) fix the problem was running this:
yarn add -D #vue/eslint-config-typescript
My question is: How was I supposed to figure that out? Is there some website or service or something where I could have searched for #vue/typescript and found out that the package I needed to install was #vue/eslint-config-typescript?
Ok, I figured it out: in the ESLint docs, it says that basically that the part after the forward-slash should be understood to always start with eslint-plugin:
They show the following examples:
"plugins": [
"jquery", // means eslint-plugin-jquery
"#jquery/jquery", // means #jquery/eslint-plugin-jquery
"#foobar" // means #foobar/eslint-plugin
]

After updating ChefDK, I get the error "undefined local variable or method `credentials_file'" in Test Kitchen or an error in credentials.rb in knife

This issue was discovered after upgrading from ChefDK 3.2.30 to 4.2.0, and everything worked fine before the upgrade (Including these two commands).
The full error from "knife node list":
C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/rbvmomi-1.13.0/lib/rbvmomi/vim.rb:8: warning: Win32API is deprecated after Ruby 1.9.1; use fiddle directly instead
Traceback (most recent call last):
8: from C:/opscode/chefdk/bin/knife:359:in <main>' 7: from C:/opscode/chefdk/bin/knife:359:inload'
6: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/bin/knife:24:in <top (required)>' 5: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/application/knife.rb:162:inrun'
4: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:221:in run' 3: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:440:inconfigure_chef'
2: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-15.1.36-universal-mingw32/lib/chef/knife.rb:185:in load_config' 1: from C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/workstation_config_loader.rb:72:inload'
C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/mixin/credentials.rb:92:in load_credentials': undefined local variable or methodcredentials_file' for #<ChefConfig::WorkstationConfigLoader:0x000000000c311e68> (NameError)
The full error from 'kitchen converge':
------Exception-------
Class: Kitchen::ClientError
Message: Could not load the 'chef_zero' provisioner. Error: undefined local variable or method `credentials_file' for #<ChefConfig::WorkstationConfigLoader:0x0000000006f176a0>
Did you mean? credentials_profile
credentials_found
#credentials_found
----------------------
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration
We found that the problem in this case was an invalid profile being requested.
The profile can be set either with the CHEF_PROFILE environment variable, or in a file named 'context' in the users home .chef directory (~/.chef on Linux, C:\Users\username.chef on Windows).
If a profile other than 'default' is specified, than the ChefDK looks for a file named 'credentials' in that same directory. It will then parse that file and look for a section matching the profile name.
If it doesn't find a matching profile, then it will generate errors like the one in the question.
To fix the problem for this user, we changed the value of the 'context' file to "default" (without quotes) and everything started working again.
There are several possible resolutions, which one is best for you depends on where the problem comes from
If the profile name is valid, then add the proper section to the ~/credentials file
If the value of the CHEF_PROFILE environment variable is the problem, change it to "default" or to a valid name
If the value of the ~/context file is the problem, than you can either delete it, or change the value in it to a valid profile (NOTE: Always make a back up of the file before deleting or making changes)
I found the details listed above that led me to the resolution by going through the code in C:/opscode/chefdk/embedded/lib/ruby/gems/2.6.0/gems/chef-config-15.1.36/lib/chef-config/mixin/credentials.rb (which was where the initial exception was thrown)

Error loading getstream with php

I have followed the instructions in the documentation of getstream.io but i am still getting this error.
Warning: require_once(C:\xampp\htdocs\getstreamtest/vendor/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\getstreamtest\test.php on line 3
Fatal error: require_once(): Failed opening required 'C:\xampp\htdocs\getstreamtest/vendor/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\getstreamtest\test.php on line 3
I have included the current version of getstream. And according to the brief documentation, that should be enough. It says "Composer will take care of the autoloading for you, so if you require the vendor/autoload.php, you're good to go."
{
"require": {
"get-stream/stream": "2.2.9"
}
}
It's not working. Any solution to this?
I wasn't able to install composer.But this solved the problem
"config": {
"secure-http": false
}
Thanks

Can't use augeas to create a new entry in hosts.allow

I try to create a new entry in hosts.allow
augeas { "Add in hosts allow" :
context => '/files/etc/hosts.allow',
changes => [
'ins 01 after *[last()]',
'set 01/process[1] ssh',
'set 01/process[2] ssh2',
'set 01/client ipaddr'
],
}
But it doesn't work I get this error
Notice: Compiled catalog for server.local in environment production in 0.96 seconds
Error: /Stage[main]/Nfs::Server/Augeas[Add in hosts allow]: Could not evaluate: Error sending
command 'ins' with params ["01", "after", "/files/etc/hosts.allow/*[last()]"]/Error sending
command 'ins' with params ["01", "after", "/files/etc/hosts.allow/*[last()]"]
I can't see how to use the ins command, the message don't let me know what's went wrong.
CentOS6.4
Puppet version: 3.3.1
augeasversion (from facter): 0.9.0
I Can't find the version of augtools and I can't either execute a command as it is not installed (I don't know how puppet invoke it)
Try adding a leading "/" to the context?
(The logging is slightly odd, it doesn't show the "files" prefix at all, I wonder if your code sample and logging match.)

Resources