Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
thesystemninjaneer
@thesystemninjaneer
happy monday! I'm automating the deployment of a miq jansa-2 container on an AWS ec2 instance. is it possible to enable Embedded Ansible server role via an MIQ API call, appliance_console_cli, or some other IaC tooling?
Peter McGowan
@pemcg
@thesystemninjaneer You might be able to use configure_server_settings.rb in the tools directory (I’ve only ever tried this on a VM appliance rather than podified though). There’s an example playbook that uses this here: https://github.com/pemcg/configure-for-migration-analytics/blob/master/tasks/configure-server-settings.yml
1 reply
lrhamann
@lrhamann
I am using the podified version of manageiq. I am trying to retire a VM using the api/vms/xxx REST api. The api returns a success response but the VM is not being retired. Here is an example:
curl --insecure -H "Content-type: application/json" -d '{
  "action": "retire"
}' 'https://inframgmtinstall.apps.b-cp4mcm-23-1.cp.fyre.com/api/vms/702' --user "admin:smartvm"
{"success":true,"message":"VM id:702 name:'Lrh-rhcos-4.2' retiring","href":"https://inframgmtinstall.apps.b-cp4mcm-23-1.cp.fyre.com/api/vms/702"}%
Jason Frey
@Fryguy
@abellotti Is that the right action?
Alberto Bellotti
@abellotti
I think newer builds now also support "request_retire" as per https://www.manageiq.org/docs/reference/latest/api/reference/vms.html though retire is still there. I think request_retire goes through an automate role.
lrhamann
@lrhamann
More info on the retire request. After the REST api is issued the "Retirement State" for the VM is set to "initializing" but the VM never is retired.
Alberto Bellotti
@abellotti
weird, sounds like the provider role is not enabled to get those retire events. Any errors in the logs ?
Jason Frey
@Fryguy
@lrhamann you should also be able to trace the request through the automate logs (grep for the q-task-id, I think that is shared among them)
lrhamann
@lrhamann

I see the following in the logs.
production.log

[----] I, [2021-03-26T15:28:31.985878 #8133:2b093270cb58]  INFO -- : Started POST "/api/vms/68" for 9.211.146.90 at 2021-03-26 15:28:31 -0400
[----] I, [2021-03-26T15:28:31.995340 #8133:2b093270cb58]  INFO -- : Processing by Api::VmsController#update as JSON
[----] I, [2021-03-26T15:28:31.995492 #8133:2b093270cb58]  INFO -- :   Parameters: {"c_id"=>"68", "vm"=>{}}
[----] I, [2021-03-26T15:28:32.400886 #8133:2b093270cb58]  INFO -- : Completed 200 OK in 405ms (Views: 0.2ms | ActiveRecord: 14.2ms | Allocations: 12025)

evm.log

[----] I, [2021-03-26T15:28:32.397823 #8133:2b093270cb58]  INFO -- : MIQ(ManageIQ::Providers::Vmware::InfraManager::Vm#retire_now) Vm: retirement for [id:<68>, name:<Lrh-rhcos-4.2>] got updated while waiting to be unlocked and is now initializing

I do not find any reference to this transaction in the automate log but I do not understand what I need to be looking for.

Jason Frey
@Fryguy
was there anything in the automate logs on any generic pod, or were they all empty?
lrhamann
@lrhamann
I am currently testing using the appliance version of manageiq.
Jason Frey
@Fryguy
FYI, api is currently :red_circle: - I think it was ManageIQ/manageiq#21207, and @jrafanie is on it
Joe Rafaniello
@jrafanie
I'm not a fan but I'm not sure how to avoid it when the api tests dynamically create features on demand for tests that don't correctly specify which features they need to seed...
ashkuren
@ashkuren
Hi guys, please advise if there are an api endpoints for:
  1. Adding Automation Domain from git
  2. Managing Ansible credentials
  3. Managing Ansible repositories
Jason Frey
@Fryguy
  1. Yes, there is a git import action on the current automate_domains called "create_from_git" (we don't have it documented on https://www.manageiq.org/docs/reference/latest/api/reference/automate_domains.html, but I just opened an issue to get that documented)
\3. Ansible repositoriures are "configuration_script_sources": https://www.manageiq.org/docs/reference/latest/api/reference/configuration_script_sources.html
Nick LaMuro
@NickLaMuro
heh, "repositoriures"
Jason Frey
@Fryguy
it's French
Nick LaMuro
@NickLaMuro
lol
Jason Frey
@Fryguy
\2. I think you create ansible credentials via the authentications endpoint: https://www.manageiq.org/docs/reference/latest/api/reference/authentications.html
13 replies
Nick LaMuro
@NickLaMuro
yeah, I was just about to say that
Andrey Menezes
@AndreyMenezes
Hi guys, I'm trying to add another group to a user through the API. How to do this?
ashkuren
@ashkuren
@Fryguy thank you!
Rashed Mehmood
@rashidramk
Hi guys, I'm sending http POST api request using postman, but when I check my api logs, request method is GET. This issues is on Kasparov, the same api working fine on Ivanchuk.
Jason Frey
@Fryguy
all posts are becoming gets or just a specific one?
Rashed Mehmood
@rashidramk
All post requests.
all posts requests that I calling from API.
Jason Frey
@Fryguy
how weird - can you share the Postman setup and the logs?
Rashed Mehmood
@rashidramk

This the Postman request and response:
URL: http://10.0.2.4/api/automations/post_automation
Method: POST
Body:
{"action": "post_automation",
"endpoint": "test"
}

Error:
{
"error": {
"kind": "not_found",
"message": "Invalid Automation id post_automation specified",
"klass": "Api::NotFoundError"
}
}

And here is log from server: Server LOG:

[----] I, [2021-06-18T10:42:45.126035 #8947:2ae9ec479d4c] INFO -- : MIQ(Api::AutomationsController.log_request_initiated)
[----] I, [2021-06-18T10:42:45.126389 #8947:2ae9ec479d4c] INFO -- : MIQ(Api::AutomationsController.log_request) API Request: {:requested_at=>"2021-06-18 1
4:42:45 UTC", :method=>"GET", :url=>"https://10.0.2.4/api/automations/post_automation"}
[----] I, [2021-06-18T10:42:45.531784 #8947:2ae9ec479d4c] INFO -- : MIQ(Api::AutomationsController.log_request) Authentication: {:type=>"basic", :token=>nil,
:x_miq_group=>nil, :user=>"admin"}
[----] I, [2021-06-18T10:42:45.535616 #8947:2ae9ec479d4c] INFO -- : MIQ(Api::AutomationsController.log_request) Authorization: {:user=>"admin", :group=>"Evm
Group-super_administrator", :role=>"EvmRole-super_administrator", :tenant=>"My Company"}
[----] I, [2021-06-18T10:42:45.536217 #8947:2ae9ec479d4c] INFO -- : MIQ(Api::AutomationsController.log_request) Request: {:method=>:get, :action=>"rea
d", :fullpath=>"/api/automations/post_automation", :url=>"https://10.0.2.4/api/automations/post_automation", :base=>"https://10.0.2.4", :path=>"/api/automatio
ns/post_automation", :prefix=>"/api", :version=>"4.1.0", :api_prefix=>"https://10.0.2.4/api", :collection=>"automations", :c_suffix=>nil, :collection_id=>"pos
t_automation", :subcollection=>nil, :subcollection_id=>nil}

The same request on Postman is working fine for my other manageiq with ivanchuk
Jason Frey
@Fryguy
I wonder if that's a nuance of it being an error or an invalid id - do you get the same problesm with "valid" requests?
ashkuren
@ashkuren
is this a standard enpoint /api/automations ?
Rashed Mehmood
@rashidramk
This is valid type of request, the main issue is, it is converting POST request to GET and then error comes as invalid id. As I mentioned same request is working with version ivanchuk and I checked the log and it is still POST request.

is this a standard enpoint /api/automations ?

I'm adding custom API. Its working fine on other VM.

Jason Frey
@Fryguy
right, I'm asking whether you hvae this POST/GET switch with other endpoints like, say, /api/vms
Rashed Mehmood
@rashidramk

right, I'm asking whether you hvae this POST/GET switch with other endpoints like, say, /api/vms

Yes, check with "POST /api/vms/42" for testing and it still switch POST to GET

[----] I, [2021-06-18T10:32:09.115762 #8947:2ae9ec479158] INFO -- : MIQ(Api::VmsController.log_request_initiated)
[----] I, [2021-06-18T10:32:09.116077 #8947:2ae9ec479158] INFO -- : MIQ(Api::VmsController.log_request) API Request: {:requested_at=>"2021-06-18 14:32:09
UTC", :method=>"GET", :url=>"https://10.0.2.4/api/vms/42"}
[----] I, [2021-06-18T10:32:09.433697 #8947:2ae9ec479158] INFO -- : MIQ(Api::VmsController.log_request) Authentication: {:type=>"basic", :token=>nil, :xmiq
group=>nil, :user=>"admin"}
ashkuren
@ashkuren
what do you have in the body?
Rashed Mehmood
@rashidramk

what do you have in the body?

Body:
{"action": "post_automation",
"endpoint": "test"
}

ashkuren
@ashkuren
what protocol do you use? http?
Rashed Mehmood
@rashidramk

what protocol do you use? http?

Yes.

ashkuren
@ashkuren
try https. it could be because of redirects
Rashed Mehmood
@rashidramk

try https. it could be because of redirects

AAh. Okay sure, I'll try using https.

Andrey Menezes
@AndreyMenezes
Hi Guys, I'm trying to create user groups using API. Then, I have to create a filter_expression for this group using this code:
curl -k -X POST --user admin:'redhat' -H 'Content-Type: application/json' -H 'cache-control: no-cache' https://10.111.9.8/api/groups -d '{ "description": "999992RJ", "role": { "id": "1000000000028" }, "tenant": { "id": "1000000000078" }, "filter_expression": { "exp": { "not": { "CONTAINS": { "tag": "managed-prov_scope", "value": "000000rj" } } } } }'
But aways get this error: {"error":{"kind":"internal_server_error","message":"unknown attribute 'filter_expression' for MiqGroup.","klass":"ActiveModel::UnknownAttributeError"}}
Andrey Menezes
@AndreyMenezes
@pemcg so, is this a bug?