Hi,
I want to initiate chef-client cmd from jenkins and display runtime logs. Any idea how to do it.
server: ubuntu
client: Windows
Regards,
vagga
Hi,
I want to initiate chef-client cmd from jenkins and display runtime logs. Any idea how to do it.
server: ubuntu
client: Windows
Regards,
vagga
Hi @vagga06
You can SSH to the chef-client from Jenkins and run chef-client command using SSH plugin. I believe there is no other way around.
or you can try this link.
hope this would work for you
Regards,
Waseem A
Hi,
We tried bot approaches and the SSH one did work better for us. We also had to redirect the stdout so chef would not write to the log file with chef-client --logfile /dev/stdout
but I don’t know how this could be done on Windows.
Hi,
Thanks for your suggestions
@waseemahammed: we are using multiple windows 2012 r2 servers as clients, to run chef-client command using SSH plugin we need to install and configure ssh on all nodes.
We donot have privileges to install and configure these tools.
chef-plugin is not available in jenkins, i can see the below plugin,
https://wiki.jenkins-ci.org/display/JENKINS/Chef+Sinatra+Jenkins+Plugin
no idea how to install the dependencies.
Regards,
Umesha
@vagga06 : Yes there are dependencies and limitation while using Windows server as clients. I never came across with these situations since I work more on Linux and less on windows.
What I suggest is you can use RESTful APIs instead of installing SSH on clients.
You can follow this link Chef Server API¶
Jenkins HTTP Request Plugin - https://wiki.jenkins-ci.org/display/JENKINS/HTTP+Request+Plugin
Or else invoke a PowerShell script to run chef-client against the node.
I have no other idea, you may give it a try.
Redgars,
Waseem
Hi,
created jenkins slave on nodes to get the runtime logs, but when i execute the command or bat file from jenkins (execute windows batch command or powershell) i am getting below error, any idea
F:\Build\jenkins_slave_workspace\workspace\chef-build>chef-client --once --force-formatter -o "recipe[Hybris-Backoffice::predeploy]"
Starting Chef Client, version 12.16.42e[0m
resolving cookbooks for run list: ["Hybris-Backoffice::predeploy"]e[0m
Synchronizing Cookbooks:e[0m
- Hybris-Backoffice (0.1.0)e[0m
- windows (1.44.1)e[0m
- chef_handler (1.4.0)e[0m
- Windows_Service (0.1.0)e[0m
- Java1.8 (0.1.0)e[0m
- push-jobs (3.2.2)e[0m
- runit (3.0.3)e[0m
- packagecloud (0.2.5)e[0m
- yum-epel (2.0.0)e[0m
- compat_resource (12.16.3)e[0m
- chef-ingredient (0.21.2)e[0m
Installing Cookbook Gems:e[0m
Compiling Cookbooks...e[0m
Converging 14 resourcese[0m
Recipe: Hybris-Backoffice::predeploye[0m
* env[ANT_HOME] action delete
e[0m
================================================================================e[0m
e[31mError executing action `delete` on resource 'env[ANT_HOME]'e[0m
================================================================================e[0m
e[0m WIN32OLERuntimeErrore[0m
--------------------e[0m
(in OLE method `delete_': )
e[0m OLE error code:80041003 in SWbemObjectEx
e[0m Access denied
e[0m HRESULT error code:0x80020009
e[0m Exception occurred.e[0m
e[0m Resource Declaration:e[0m
---------------------e[0m
# In C:/chef/cache/cookbooks/Hybris-Backoffice/recipes/predeploy.rb
e[0m
e[0m 11: env 'ANT_HOME' do
e[0m 12: value "#{node['Hybris-Backoffice']['path']}\\hybris\\bin\\platform\\apache-ant-1.9.1"
e[0m 13: action :delete
e[0m 14: end
e[0m 15:
e[0m
e[0m Compiled Resource:e[0m
------------------e[0m
# Declared in C:/chef/cache/cookbooks/Hybris-Backoffice/recipes/predeploy.rb:11:in `from_file'
e[0m
e[0m env("ANT_HOME") do
e[0m action [:delete]
e[0m retries 0
e[0m retry_delay 2
e[0m default_guard_interpreter :default
e[0m key_name "ANT_HOME"
e[0m value "F:\\Hybris-Back-Office\\hybris\\bin\\platform\\apache-ant-1.9.1"
e[0m declared_type :env
e[0m cookbook_name "Hybris-Backoffice"
e[0m recipe_name "predeploy"
e[0m end
e[0m
e[0m Missing Windows Admin Privilegese[0m
--------------------------------e[0m
chef-client doesn't have administrator privileges. This can be a possible reason for the resource failure.e[0m
e[0m Platform:e[0m
---------e[0m
x64-mingw32e[0m
e[0me[0m
Running handlers:e[0m
Running handlers complete
e[0mChef Client failed. 0 resources updated in 07 secondse[0m
Build step 'Execute Windows batch command' marked build as failure
Notifying upstream projects of job completion
Finished: FAILURE
Hi @vagga06,
It's clearly mentioned in the error "Missing Windows Admin Privileges".
I think this is because of admin rights. If you solve this error, then your chef run will be completed without any error.
Cheers,
Waseem
Hi @waseemahammed,
How to execute chef-client cmd from jenkins in client machine, help me pls.
Regards,
Umesha
Hi @vagga06
Are you using the Domain admin to run the chef-client over win2012 server? Make sure the account you are using has domain admin rights and not a local admin.
Hey @vagga06,
To do so, you can use knife winrm. Here is how you do it.
Or else you can follow the following topic thread,
I believe your sever is on Linux. And in order to run it through Jenkins, you can command your Jenkins to run knife winrm command on your chef workstation.
Hope this is helpful.
Cheers,
Waseem
Hi,
It was issue with the user permission. I ran the jenkins slave with localsystem user then it worked
thanks everyone
Umesha