Hey Joshua,

You can provision host certificate through the API call (with cloud monkey) or 
UI.

Have a look at the following links:

http://docs.cloudstack.apache.org/en/4.17.0.0/adminguide/hosts.html#securing-process

https://cloudstack.apache.org/api/apidocs-4.17/apis/provisionCertificate.html



Kind regards,
Sina




------- Original Message -------
On Monday, August 22nd, 2022 at 8:18 PM, Joshua Schaeffer 
<jschaef...@harmonywave.com> wrote:


> 

> 

> Running ACS 4.15.1.0 on Ubuntu 20.04.
> 

> I have a cloudstack-agent service that isn't able to start. It looks like 
> libvirtd won't start because of an expired cert:
> 

> user@cmp02:/etc/cloudstack/agent# systemctl start cloudstack-agent.service
> A dependency job for cloudstack-agent.service failed. See 'journalctl -xe' 
> for details.
> root@bllcloudcmp02:/etc/cloudstack/agent# journalctl -xe
> -- A start job for unit libvirtd.service has begun execution.
> --
> -- The job identifier is 2331.
> Aug 22 18:09:56 bllcloudcmp02 libvirtd[13168]: libvirt version: 6.0.0, 
> package: 0ubuntu8.12 (Christian Ehrhardt christian.ehrha...@canonical.com 
> Tue, 20 Jul 2021 14:13:56 +0200)
> 

> Aug 22 18:09:56 bllcloudcmp02 libvirtd[13168]: hostname: bllcloudcmp02
> Aug 22 18:09:56 bllcloudcmp02 libvirtd[13168]: The server certificate 
> /etc/pki/libvirt/servercert.pem has expired
> Aug 22 18:09:56 bllcloudcmp02 systemd[1]: libvirtd.service: Main process 
> exited, code=exited, status=6/NOTCONFIGURED
> 

> I checked and that file is a symlink to the /etc/cloudstack/agent/cloud.crt 
> file which is in fact expired. I tried to run "Provision Host Security Keys" 
> (I think that is what I'm supposed to run) but because the agent is down and 
> can't be started it fails:
> 

> 2022-08-22 17:52:12,809 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Executing 
> AsyncJobVO {id:1105, userId: 2, accountId: 2, instanceType: Host, instanceId: 
> null, cmd: 
> org.apache.cloudstack.api.command.admin.ca.ProvisionCertificateCmd, cmdInfo: 
> {"response":"json","ctxUserId":"2","hostid":"7dae2837-270a-4080-934e-59f633b1ec42","httpmethod":"GET","ctxStartEventId":"8442","ctxDetails":"{\"interface
>  
> com.cloud.host.Host\":\"7dae2837-270a-4080-934e-59f633b1ec42\"}","ctxAccountId":"2","cmdEventType":"CA.CERTIFICATE.PROVISION"},
>  cmdVersion: 0, status: IN_PROGRESS, processStatus: 0, resultCode: 0, result: 
> null, initMsid: 90520733511963, completeMsid: null, lastUpdated: null, 
> lastPolled: null, created: null, removed: null}
> 2022-08-22 17:52:12,902 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-491:ctx-6cf11e9c) (logid:fcee2f79) ===START=== 172.16.44.18 -- 
> GET 
> jobId=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 2022-08-22 17:52:12,946 ERROR [o.a.c.c.CAManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105 ctx-3460a193) (logid:574cb963) 
> Host/agent is not available or operation timed out, failed to setup keystore 
> and generate CSR for host/agent id=21, due to:
> com.cloud.exception.AgentUnavailableException: Resource [Host:21] is 
> unreachable: Host 21: Host with specified id is not in the right state: Alert
> at 
> com.cloud.agent.manager.ClusteredAgentManagerImpl.getAttache(ClusteredAgentManagerImpl.java:574)
> at com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:448)
> at com.cloud.agent.manager.AgentManagerImpl.send(AgentManagerImpl.java:361)
> at 
> org.apache.cloudstack.ca.CAManagerImpl.generateKeyStoreAndCsr(CAManagerImpl.java:208)
> at 
> org.apache.cloudstack.ca.CAManagerImpl.provisionCertificate(CAManagerImpl.java:189)
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
> at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at 
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
> at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
> at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
> at 
> org.apache.cloudstack.network.contrail.management.EventUtils$EventInterceptor.invoke(EventUtils.java:107)
> at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
> at 
> com.cloud.event.ActionEventInterceptor.invoke(ActionEventInterceptor.java:51)
> at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
> at 
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
> at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
> at 
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215)
> at com.sun.proxy.$Proxy292.provisionCertificate(Unknown Source)
> at 
> org.apache.cloudstack.api.command.admin.ca.ProvisionCertificateCmd.execute(ProvisionCertificateCmd.java:95)
> at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:156)
> at com.cloud.api.ApiAsyncJobDispatcher.runJob(ApiAsyncJobDispatcher.java:108)
> at 
> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.runInContext(AsyncJobManagerImpl.java:620)
> at 
> org.apache.cloudstack.managed.context.ManagedContextRunnable$1.run(ManagedContextRunnable.java:48)
> at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext$1.call(DefaultManagedContext.java:55)
> at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.callWithContext(DefaultManagedContext.java:102)
> at 
> org.apache.cloudstack.managed.context.impl.DefaultManagedContext.runWithContext(DefaultManagedContext.java:52)
> at 
> org.apache.cloudstack.managed.context.ManagedContextRunnable.run(ManagedContextRunnable.java:45)
> at 
> org.apache.cloudstack.framework.jobs.impl.AsyncJobManagerImpl$5.run(AsyncJobManagerImpl.java:568)
> at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:829)
> 2022-08-22 17:52:13,018 ERROR [c.c.a.ApiAsyncJobDispatcher] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Unexpected 
> exception while executing 
> org.apache.cloudstack.api.command.admin.ca.ProvisionCertificateCmd
> 2022-08-22 17:52:13,029 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Complete async 
> job-1105, jobStatus: FAILED, resultCode: 530, result: 
> org.apache.cloudstack.api.response.ExceptionResponse/null/{"uuidList":[],"errorcode":"530","errortext":"Failed
>  to generate keystore and get CSR from the host/agent id=21"}
> 2022-08-22 17:52:13,037 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Publish async 
> job-1105 complete on message bus
> 2022-08-22 17:52:13,038 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Wake up jobs 
> related to job-1105
> 2022-08-22 17:52:13,038 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Update db status 
> for job-1105
> 2022-08-22 17:52:13,052 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Wake up jobs 
> joined with job-1105 and disjoin all subjobs created from job- 1105
> 2022-08-22 17:52:13,067 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-491:ctx-6cf11e9c ctx-f920f958) (logid:fcee2f79) ===END=== 
> 172.16.44.18 -- GET 
> jobId=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 2022-08-22 17:52:13,103 DEBUG [o.a.c.f.j.i.AsyncJobManagerImpl] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Done executing 
> org.apache.cloudstack.api.command.admin.ca.ProvisionCertificateCmd for 
> job-1105
> 2022-08-22 17:52:13,104 INFO [o.a.c.f.j.i.AsyncJobMonitor] 
> (API-Job-Executor-45:ctx-48e9c6f9 job-1105) (logid:574cb963) Remove job-1105 
> from job monitoring
> 2022-08-22 17:52:15,094 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-498:ctx-5ae099be) (logid:6c0898ed) ===START=== 172.16.44.18 -- 
> GET 
> jobid=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 2022-08-22 17:52:15,261 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-498:ctx-5ae099be ctx-9604702f) (logid:6c0898ed) ===END=== 
> 172.16.44.18 -- GET 
> jobid=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 2022-08-22 17:52:16,126 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-491:ctx-9e0094c8) (logid:5dc049fa) ===START=== 172.16.44.18 -- 
> GET 
> jobId=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 2022-08-22 17:52:16,282 DEBUG [c.c.a.ApiServlet] 
> (qtp330739404-491:ctx-9e0094c8 ctx-3baf6efa) (logid:5dc049fa) ===END=== 
> 172.16.44.18 -- GET 
> jobId=574cb963-9411-47da-aabd-e0ae2123013c&command=queryAsyncJobResult&response=json
> 

> How do I get CloudStack to issue a new certificate?
> 

> --
> Thanks,
> Joshua Schaeffer

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to