Many thanks to:
gsswzt, Luca, Andrej, Fred, Karli, Ondra and Bohdan for their replies.
A number of people mentioned the need to specify a CA cert, but curl was
able to find my organizations CA locally - so that was not an issue.
Correcting my url to include ovirt-engine in the path and my username to
admin@internal as suggested by Andrej as per below:
curl --user "admin@internal:SECRETPASSWORD" --request POST --header
"Content-Type: application/xml" --header "Accept: application/xml"
--data
'</action>'
https://ovirt-engine.localnet:443/ovirt-engine/api/vms/69c47a91-bbv1-4eda...
Got me a new error message:
<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
<fault>
<detail>For correct usage, see:
https://ovirt-engine.localnet/ovirt-engine/apidoc#services/vm/methods/start
</detail>
<reason>Request syntactically incorrect.</reason>
</fault>
I followed the URL, but it just seemed to repeat the information already
available at
http://ovirt.github.io/ovirt-engine-api-model/4.2/#services/vm/methods/start
Here is the relevant section of engine.log on ovirt-engine.localnet:
2018-05-31 10:48:15,550+10 INFO
[org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-25) []
User admin@internal successfully logged in with scopes: ovirt-app-api
ovirt-ext=token-info:authz-search ovirt-ext=token-info:public-authz-search
ovirt-ext=token-info:validate ovirt-ext=token:password-access
2018-05-31 10:48:15,569+10 INFO
[org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-29)
[8ffa0f3] Running command: CreateUserSessionCommand internal: false.
2018-05-31 10:48:15,581+10 INFO
[org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector]
(default task-29) [8ffa0f3] EVENT_ID: USER_VDC_LOGIN(30), User
admin@internal-authz connecting from '192.168.1.0' using session
'JNweIEHoHhw9U+wMt7Z03Ovb5Pc1zR3WyvTcSfRTpdHjd55CHbcspfDcJgToMVshtlgXamzvUSW2rzHB9ApJHA=='
logged in.
2018-05-31 10:48:15,587+10 ERROR
[org.ovirt.engine.api.restapi.resource.validation.IOExceptionMapper]
(default task-29) [] IO exception while processing "POST" request for path
"/vms/69c47a91-bbv1-4eda-b71d-7bddf82ee8ab/start"
2018-05-31 10:48:15,587+10 ERROR
[org.ovirt.engine.api.restapi.resource.validation.IOExceptionMapper]
(default task-29) [] Exception: java.io.IOException:
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2]
Message: The markup in the document preceding the root element must be
well-formed.
at
org.ovirt.engine.api.restapi.xml.JAXBProvider.readFrom(JAXBProvider.java:200)
[restapi-jaxrs.jar:]
at
org.ovirt.engine.api.restapi.xml.JAXBProvider.readFrom(JAXBProvider.java:162)
[restapi-jaxrs.jar:]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:66)
[resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at
org.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:61)
[resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at
org.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:56)
[resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
at
org.jboss.resteasy.security.doseta.DigitalVerificationInterceptor.aroundReadFrom(DigitalVerificationInterceptor.java:36)
[resteasy-crypto-3.0.24.Final.jar:3.0.24.Final]
<MANY MANY LINES OF ERRORS SNIPPED>
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_171]
Caused by: javax.xml.stream.XMLStreamException: ParseError at
[row,col]:[1,2]
Message: The markup in the document preceding the root element must be
well-formed.
at
com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:604)
[rt.jar:1.8.0_171]
at
com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:164)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:415)
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:386)
at
org.ovirt.engine.api.restapi.xml.JAXBProvider.readFrom(JAXBProvider.java:187)
[restapi-jaxrs.jar:]
... 104 more
2018-05-31 10:48:15,593+10 INFO
[org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-29)
[4531c52a] Running command: LogoutSessionCommand internal: false.
2018-05-31 10:48:15,598+10 INFO
[org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector]
(default task-29) [4531c52a] EVENT_ID: USER_VDC_LOGOUT(31), User
admin@internal-authz connected from '192.168.1.0' using session
'JNweIEHoHhw9U+wMt7Z03Ovb5Pc1zR3WyvTcSfRTpdHjd55CHbcspfDcJgToMVshtlgXamzvUSW2rzHB9ApJHA=='
logged out.
2018-05-31 10:48:27,542+10 INFO
[org.ovirt.engine.core.sso.servlets.OAuthRevokeServlet] (default task-32)
[] User admin@internal successfully logged out
2018-05-31 10:48:27,550+10 INFO
[org.ovirt.engine.core.bll.aaa.TerminateSessionsForTokenCommand] (default
task-35) [76676851] Running command: TerminateSessionsForTokenCommand
internal: true.
Later I thought that perhaps the problem was that I need to use the VM Name
instead of it's UUID, since all of the examples in the official docs use
something like "123" or "007". However when I changed the curl request
to
the below:
curl --user "admin@internal:SECRETPASSWORD" --request POST --header
"Content-Type: application/xml" --header "Accept: application/xml"
--data
'</action>'
https://ovirt-engine.localnet:443/ovirt-engine/api/vms/name_of_my_vm/start
I got no feedback on the commandline. So I checked engine.log, but there
were only a few entries as per below:
2018-05-31 11:43:39,940+10 INFO
[org.ovirt.engine.core.sso.utils.AuthenticationUtils] (default task-49) []
User admin@internal successfully logged in with scopes: ovirt-app-api
ovirt-ext=token-info:authz-search ovirt-ext=token-info:public-authz-search
ovirt-ext=token-info:validate ovirt-ext=token:password-access
2018-05-31 11:43:39,954+10 INFO
[org.ovirt.engine.core.bll.aaa.CreateUserSessionCommand] (default task-39)
[41871d82] Running command: CreateUserSessionCommand internal: false.
2018-05-31 11:43:39,962+10 INFO
[org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector]
(default task-39) [41871d82] EVENT_ID: USER_VDC_LOGIN(30), User
admin@internal-authz connecting from '192.168.1.0' using session
'EfiWrbyRpCilceYzJsgOz+E/An7JBAHr2ASziyZyFykop9vO77gc1+u3CQh542eNq/BXOXpOOxKhQLQhIKarEg=='
logged in.
2018-05-31 11:43:39,971+10 INFO
[org.ovirt.engine.core.bll.aaa.LogoutSessionCommand] (default task-39)
[6209f488] Running command: LogoutSessionCommand internal: false.
2018-05-31 11:43:39,976+10 INFO
[org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector]
(default task-39) [6209f488] EVENT_ID: USER_VDC_LOGOUT(31), User
admin@internal-authz connected from '192.168.1.0' using session
'EfiWrbyRpCilceYzJsgOz+E/An7JBAHr2ASziyZyFykop9vO77gc1+u3CQh542eNq/BXOXpOOxKhQLQhIKarEg=='
logged out.
Note that the name I specified does not show up at all.
Anyone have any ideas?
On Wed, May 30, 2018 at 7:03 PM, Andrej Krejcir <akrejcir(a)redhat.com> wrote:
Hi,
the URL path is missing 'ovirt-engine', it should be:
https://ovirtengine.localnet:443/ovirt-engine/api/vms/
dfbba498-e8b6-4fee-a86c-c91ab68eae0d/start
Also, the admin user name is: 'admin@internal'
Here is the API documentation, for more info:
http://ovirt.github.io/ovirt-engine-api-model/4.2/#
services/vm/methods/start
Andrej
On 30 May 2018 at 08:07, Kirin van der Veer <kirin.vanderveer@
planetinnovation.com.au> wrote:
> Hi oVirt users,
> I have (what I hope) is a simple problem.
> I want to make an https request to start a VM via the oVirt REST API.
> Here is the command that I think should work:
> curl --user "admin:SECRETPASSWORD" --request POST --header
"Content-Type:
> application/xml" --header "Accept: application/xml" --data
'</action>'
>
https://ovirtengine.localnet:443/api/vms/69c47a91-bbv1-4eda-
> b71d-7bddf82ee8ab/start
>
> However I get a 404 in response (see below):
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>404 Not Found</title>
> </head><body>
> <h1>Not Found</h1>
> <p>The requested URL /api/vms/60c47a91-bca1-4eda-b71d-7bddf82ee8ab/start
> was not found on this server.</p>
> </body></html>
>
> Where have I made a mistake here?
>
>
>
> *IMPORTANT NOTE. *If you are NOT AN AUTHORISED RECIPIENT of this e-mail,
> please contact Planet Innovation Pty Ltd by return e-mail or by telephone
> on +613 9945 7510. In this case, you should not read, print, re-transmit,
> store or act in reliance on this e-mail or any attachments, and should
> destroy all copies of them. This e-mail and any attachments are
> confidential and may contain legally privileged information and/or
> copyright material of Planet Innovation Pty Ltd or third parties. You
> should only re-transmit, distribute or commercialise the material if you
> are authorised to do so. Although we use virus scanning software, we deny
> all liability for viruses or alike in any message or attachment. This
> notice should not be removed.
>
> _______________________________________________
> Users mailing list -- users(a)ovirt.org
> To unsubscribe send an email to users-leave(a)ovirt.org
> Privacy Statement:
https://www.ovirt.org/site/privacy-policy/
> oVirt Code of Conduct:
https://www.ovirt.org/communit
> y/about/community-guidelines/
> List Archives:
https://lists.ovirt.org/archiv
> es/list/users(a)ovirt.org/message/5N6N4BHF6ZFJLEARSEALCON7DJIMXRCZ/
>
>
--
*IMPORTANT
NOTE. *If you are
NOT AN AUTHORISED RECIPIENT of this
e-mail, please contact Planet Innovation Pty
Ltd by return e-mail or by
telephone on +613 9945 7510. In this case, you
should not read, print,
re-transmit, store or act in reliance on this e-mail or
any attachments,
and should destroy all copies of them. This e-mail and
any attachments are
confidential and may contain legally privileged information
and/or
copyright material of Planet Innovation Pty Ltd or third parties.
You
should only re-transmit, distribute or commercialise the material if you
are authorised to do so. Although we use virus scanning software, we deny
all liability for viruses or alike in any message or attachment. This
notice should not be removed.
**