草庐IT

chef-zero

全部标签

windows - Chef : How do I check to see if a service is installed?

在Recipe中我想检查是否安装了服务,如果没有通知安装它所需的3个资源。我尝试了服务资源,它在安装时正确识别服务,但如果未安装服务则抛出异常。我不确定在这里使用什么操作。:nothing只是跳过资源,因此它会被执行,但任何其他操作在尝试对不存在的服务执行操作时都会出错。如何检测服务是否已安装并根据该信息采取行动?如果相关的话,我在Windows上运行。 最佳答案 看一下windows服务是如何定义的https://github.com/opscode/chef/blob/master/lib/chef/provider/servi

ruby - 用chef创建windows用户,并将用户添加到本地Administrators组

用户资源的Chef文档:http://docs.getchef.com/resource_user.html这样做有效:user"TestUser"dopassword"p@ssw0rd"end但是当我添加一个gid时它失败了:user"TestUser"dopassword"p@ssw0rd"gid"Administrators"end我也尝试过传递.\Administrator,但得到相同的结果:[2014-08-08T14:00:11-07:00]FATAL:ArgumentError:user[TestUser](test::usersline11)hadanerror:Arg

windows - Win32 EXCEPTION_INT_OVERFLOW 与 EXCEPTION_INT_DIVIDE_BY_ZERO

我对EXCEPTION_INT_OVERFLOW和EXCEPTION_INT_DIVIDE_BY_ZERO异常有疑问。Windows将捕获由IDIV指令生成的#DE错误,并最终使用这两个代码之一生成SEH异常。我的问题是它如何区分这两种情况?Intel手册中关于idiv的信息表明它会在“被零除”和“下溢情况”下生成#DE。我快速浏览了intel手册第3卷中关于#DE错误的部分,我能收集到的最好的信息是操作系统必须解码DIV指令,加载除数参数,然后进行比较归零。虽然我觉得这有点疯狂。为什么芯片设计者不使用某种标志来区分错误的2个原因?我觉得我一定错过了什么。有谁确切知道操作系统如何区分这

windows - windows批处理文件中的字符串处理: How to pad value with leading zeros?

在Windowscmd批处理文件(.bat)中,我如何填充数值,以便将0..99范围内的给定值转换为“00”到“99”范围内的字符串。IE。我想为小于10的值设置前导零。 最佳答案 您可以使用一个两阶段过程:REMinitialsetupSETX=5REMpadwithyourdesiredwidth-1leadingzeroesSETPADDED=0%X%REMsliceoffanyzeroesyoudon'tneed--BEWARE,thiscantruncatethevalueREMthe2attheendisthenumbe

ruby - 在 chef lwrp 中安装、要求和使用 ruby​​ 库

我正在编写一个LWRP以使用APIkey为redis数据库播种以允许进行身份验证。我的麻烦是使用ruby​​的redis库。我四处搜索并在网上找到了一些示例,但没有一个对我有用。我在AWSOpsWorks上运行它,所以它使用的是chef-solo我已经尝试在我的运行列表中包含一个安装redisgem(https://github.com/brianbianco/redisio/blob/master/recipes/redis_gem.rb)的方法我也试过在Recipe中安装它们gem。r=gem_package"redis"doaction:installendr.run_actio

redis - 如何使用 Chef 运行 redis-cli 命令?

这是我今天的做法(Recipe中的代码片段):execute"redis-cli-command"docommand"echo'MYCOMMAND'|redis-cli"user"root"action:runend但不知何故这确实让我完全满意,我想知道是否有更好/更好的方法。 最佳答案 echo"setkv"|redis-cli--pipe 关于redis-如何使用Chef运行redis-cli命令?,我们在StackOverflow上找到一个类似的问题:

redis - chef-solo 安装redis最后挂了

chef-solo在安装redis时卡在最后,就好像chef在等待某个事件发生一样。这是我不得不用ctrl+c杀死它时的输出。[2013-05-14T15:55:27+00:00]错误:运行异常处理程序[2013-05-14T15:55:27+00:00]错误:异常处理程序完成Chef客户端失败。更新了8个资源[2013-05-14T15:55:27+00:00]致命:Stacktrace转储到/home/ubuntu/cache/chef-stacktrace.out[2013-05-14T15:55:27+00:00]致命:Chef::Exceptions::MultipleFai

mysql命令位置DESC但如果位置="chef"则放在第一位

问题:mysqlorderpositionDESCbutputfirstifposition="chef"我想降序排列,但先放一些东西。它的语法如何? 最佳答案 ORDERBYCASEWHENposition="chef"THEN0ELSE1END,positionDESC添加更多WHEN条件可以让您优先考虑一些位置ORDERBYCASEWHENposition="chef"THEN0--firstWHENposition="dogsbody"THEN99--lastELSE1END,positionDESC

mysql - Chef mysql opscode-cookbooks 不工作 : "could not find recipe ruby for cookbook mysql"

我打算使用https://github.com/opscode-cookbooks/mysql但是当我运行vagrantprovision时找不到菜谱mysql的reciperuby​​,它会像这样返回。[2014-04-23T10:13:06+00:00]ERROR:Runningexceptionhandlers[2014-04-23T10:13:06+00:00]ERROR:Exceptionhandlerscomplete[2014-04-23T10:13:06+00:00]FATAL:Stacktracedumpedto/var/chef/cache/chef-stacktr

ios - CLLocation distanceFromLocation : returns zero on iOS 9. 是bug吗?

重现问题的代码:-(void)testDistance{NSLog(@"Testdistance...");CLLocation*location1=[[CLLocationalloc]initWithLatitude:137.02954600000001longitude:50.543728999999999];CLLocation*location2=[[CLLocationalloc]initWithLatitude:55.79676300longitude:49.10834400];CLLocationDistancedistance=[location1distanceFro