You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cloudstack.apache.org by Joshua Schaeffer <js...@harmonywave.com> on 2022/08/22 18:18:50 UTC

How to renew an expired agent cert

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 <ch...@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


Re: How to renew an expired agent cert

Posted by Joshua Schaeffer <js...@harmonywave.com>.
I was able to get the compute hosts certificate renewed and back into the cluster, however I noticed that a couple of my other hosts also have expired certs, but the agent and libvirtd processes are still running on those hosts. Can someone confirm that running the "Provision Host Security Keys" option is the correct way to update the certificates on a host that is still active? I couldn't find any documentation on this feature/button.

It says it will restart the agent and libvirtd. I'm pretty sure it won't but this will not affect currently running VM's on the host, correct?

On 8/22/22 14:51, Joshua Schaeffer wrote:
> Thanks I appreciate the links.
>
> On 8/22/22 12:41, Sina Kashipazha wrote:
>> 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
>

-- 
Thanks,
Joshua Schaeffer


Re: How to renew an expired agent cert

Posted by Joshua Schaeffer <js...@harmonywave.com>.
Thanks I appreciate the links.

On 8/22/22 12:41, Sina Kashipazha wrote:
> 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

-- 
Thanks,
Joshua Schaeffer


Re: How to renew an expired agent cert

Posted by Sina Kashipazha <s....@protonmail.com.INVALID>.
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 <js...@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.ehrhardt@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