Right, it is not ideal, though it was like that for a long time (since at least CS 2.x). I see that the sudo config was changed recently to be more locked down, but it did not include keytool due to CLOUDSTACK-1389. I checked a 4.3 setup which was upgraded from 4.2 and it still has the old unrestricted config so I guess CS never updates it, and anyone who installed a version with a sudo config missing keytool will probably hit this same problem eventually (whenever keytool is run).
Best regards, Kirk On 10/24/2014 03:06 PM, Ian Duffy wrote: >> cloud ALL =NOPASSWD : ALL > > This is dangerous advice. It grants the cloud user full sudo access without > the requirement of a password. > > The following gives more limited access and should allow cloudstack to > function accordingly: > > cloud ALL =NOPASSWD : /bin/chmod, /bin/cp, /bin/mkdir, /bin/mount, > /bin/umount, /usr/bin/keytool > > On 24 October 2014 18:44, Andrija Panic <andrija.pa...@gmail.com> wrote: > >> Just did quick management server ACS 4.4.1 installation on free server: >> cloud ALL =NOPASSWD : /bin/chmod, /bin/cp, /bin/mkdir, /bin/mount, >> /bin/umount, /usr/bin/keytool >> >> that is what it looks like in ACS 4.4.1 >> clean install of ACS 4.4.1 works... >> >> On 24 October 2014 19:35, Andrija Panic <andrija.pa...@gmail.com> wrote: >> >>> like this: >>> >>> Defaults:cloud !requiretty >>> cloud ALL =NOPASSWD : ALL >>> >>> and let us know if the upgtade still fails - it does fail for me with no >>> understandable error... >>> thx >>> >>> On 24 October 2014 19:28, Matthew Midgett < >>> clouds...@trick-solutions.com.invalid> wrote: >>> >>>> This is what is in my sudoers file >>>> >>>> cloud ALL =NOPASSWD : /bin/chmod, /bin/cp, /bin/mkdir, /bin/mount, >>>> /bin/umount >>>> >>>> Should I change it? >>>> >>>> -----Original Message----- >>>> From: Kirk Kosinski [mailto:kirkkosin...@gmail.com] >>>> Sent: Friday, October 24, 2014 5:23 AM >>>> To: users@cloudstack.apache.org >>>> Subject: Re: Broken update from 4.4 to 4.4.1 >>>> >>>> Hi, the error below indicates a problem with the sudo config. Make sure >>>> /etc/sudoers has a line like: >>>> >>>> cloud ALL =NOPASSWD : ALL >>>> >>>> Best regards, >>>> Kirk >>>> >>>> On 10/23/2014 01:05 PM, Matthew Midgett wrote: >>>>> 2014-10-23 15:21:52,943 INFO [c.c.s.ConfigurationServerImpl] >>>>> (main:null) Processing updateSSLKeyStore >>>>> 2014-10-23 15:21:52,948 INFO [c.c.s.ConfigurationServerImpl] >>>>> (main:null) SSL keystore located at >>>>> /etc/cloudstack/management/cloud.keystore >>>>> 2014-10-23 15:21:52,951 DEBUG [c.c.u.s.Script] (main:null) Executing: >>>> sudo keytool -genkey -keystore /etc/cloudstack/management/cloud.keystore >>>> -storepass vmops.com -keypass vmops.com -keyalg RSA -validity 3650 >>>> -dname cn="Cloudstack User",ou="chlt.charlottecolo.com",o=" >>>> chlt.charlottecolo.com",c="Unknown" >>>>> 2014-10-23 15:21:52,988 DEBUG [c.c.u.s.Script] (main:null) Exit value >>>>> is 1 >>>>> 2014-10-23 15:21:52,989 DEBUG [c.c.u.s.Script] (main:null) sudo: no >>>>> tty present and no askpass program specified >>>>> 2014-10-23 15:21:52,991 WARN [c.c.s.ConfigurationServerImpl] >>>> (main:null) Would use fail-safe keystore to continue. >>>>> java.io.IOException: Fail to generate certificate!: sudo: no tty >>>> present and no askpass program specified >>>>> at >>>> >> com.cloud.server.ConfigurationServerImpl.generateDefaultKeystore(ConfigurationServerImpl.java:595) >>>>> at >>>> >> com.cloud.server.ConfigurationServerImpl.updateSSLKeystore(ConfigurationServerImpl.java:623) >>>>> at >>>> >> com.cloud.server.ConfigurationServerImpl.persistDefaultValues(ConfigurationServerImpl.java:299) >>>>> at >>>> >> com.cloud.server.ConfigurationServerImpl.configure(ConfigurationServerImpl.java:164) >>>>> at >>>> >> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle$3.with(CloudStackExtendedLifeCycle.java:114) >>>>> at >>>> >> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.with(CloudStackExtendedLifeCycle.java:153) >>>>> at >>>> >> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.configure(CloudStackExtendedLifeCycle.java:110) >>>>> at >>>> >> org.apache.cloudstack.spring.lifecycle.CloudStackExtendedLifeCycle.start(CloudStackExtendedLifeCycle.java:56) >>>>> at >>>> >> org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:167) >>>>> at >>>> >> org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:51) >>>>> at >>>> >> org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:339) >>>>> at >>>> >> org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:143) >>>>> at >>>> >> org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:108) >>>>> at >>>> >> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:945) >>>>> at >>>> >> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContext(DefaultModuleDefinitionSet.java:145) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:245) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:250) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.withModule(DefaultModuleDefinitionSet.java:233) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.loadContexts(DefaultModuleDefinitionSet.java:117) >>>>> at >>>> >> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.load(DefaultModuleDefinitionSet.java:79) >>>>> at >>>> >> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.loadModules(ModuleBasedContextFactory.java:37) >>>>> at >>>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(CloudStackSpringContext.java:70) >>>>> at >>>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:57) >>>>> at >>>> >> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>(CloudStackSpringContext.java:61) >>>>> at >>>> >> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListener.contextInitialized(CloudStackContextLoaderListener.java:52) >>>>> at >>>> >> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210) >>>>> at >>>> >> org.apache.catalina.core.StandardContext.start(StandardContext.java:4709) >>>>> at >>>> >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) >>>>> at >>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) >>>>> at >>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526) >>>>> at >>>> >> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1041) >>>>> at >>>> >> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:964) >>>>> at >>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) >>>>> at >>>> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277) >>>>> at >>>> >> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321) >>>>> at >>>> >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) >>>>> at >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) >>>>> at >>>> org.apache.catalina.core.StandardHost.start(StandardHost.java:722) >>>>> at >>>> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) >>>>> at >>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) >>>>> at >>>> org.apache.catalina.core.StandardService.start(StandardService.java:516) >>>>> at >>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710) >>>>> at org.apache.catalina.startup.Catalina.start(Catalina.java:593) >>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>> at >>>> >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>>> at >>>> >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>>> at >> org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) >>>>> at >> org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) >>>> >>>> >>> >>> >>> -- >>> >>> Andrija Panić >>> -------------------------------------- >>> http://admintweets.com >>> -------------------------------------- >>> >> >> >> >> -- >> >> Andrija Panić >> -------------------------------------- >> http://admintweets.com >> -------------------------------------- >> >