-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Report Generation #32
Comments
Hi, Issue #21 was closed because it turned out that the user's environment did not meet the minimum system requirements. We need at least jinja2 version 2.10. The user had version 2.7.2. How many servers do you have? Is it possible to share the agent_status or client_config html reports generated in your environment so that I can figure out the bug in our report generator? If it is possible then please attach them. No, there is no role for generating report that shows whether the client computers are joined to the domain or not. Would you like to have one? There is one that comes close, the unix_computers_in_ad role. |
Could you assist me with my investigation? - As much as I can based on what I am allowed to share I can't provide the output file as it contains information I am not allowed to share I am running jinja2 version 2.72 so I will put in a request to upgrade that. How many servers do you have? - Over 1000 unix based servers running QAS/SAS No, there is no role for generating report that shows whether the client computers are joined to the domain or not. Would you like to have one? - Yes as the one that you point out doesnt tell me if the machine is joined but just that there is a computer object in ADS |
Could it be possible to replace / delete the sensitive information in the output file? This way you would not share information you are not allowed to share but I could examine the output in order to find the cause of problem. I have not tested our ansible playbooks with 1000+ managed hosts yet so I thank you very much for letting me know the number of servers you have. I am going to test our playbooks with 1000+ hosts. We will consider making a new role that could show whether the client computers are joined to the domain or not. |
So, I got my new server setup with the requested jinja2 version 2.10. As for the issue I am having, either playbook that I try, run_client_agent_status.yml or run_client_config.yml, against 1000 servers to see if the html report still only shows a blank table even though the source code shows that it has all the info, still has the same issue. As all the info is in the HTML file but when opened up in a browser, I only see the title and headers. |
I have created a report in a test environment where there are 1000 managed hosts. The html report is displayed by Google Chrome without any problem. You wrote that "If I generate a smaller report it works though." I suspect that the problem may not be related to the number of managed hosts. Instead it may be related to one or more particular hosts. When you generated your smaller report that problematic host(s) may have been omitted. But I can only test my assumption only if I could examine your html report. Is it possible to replace the sensitive information in that report and send me the result? It is hard to find an error in a report if you can not examine it. If you do not want to attach your report here you can send it directly to me via email. |
@Ansible-NOOB I have created a new role, client_join_status, which creates CSV and HTML reports that show the Active Directory join status of managed hosts. You can find the new role in release 0.2.0. |
Thank you for that new role, as it gives me the info I was looking for. So the only issue we are still having, is that reports are blank if over a certain number of servers are pulled. If the report seems to be over 100 servers it only shows a blank page, though the report has all the info. Example of how it looks. Here is a shot of the array data being generated. I spoke to one of our web guys and he pointed me to this, as the possible cause to the issue. I tried changing the sandbox tag on the iframe, live in Chrome but sadly no difference. |
@Ansible-NOOB Thanks for your feedback! I understand that you are not allowed to share your reports. Unfortunately if I can not examine your reports I can not find the error in them. However I have an idea that you could try out and maybe that could help us in finding the problem. You have already told me that you have over 1000 servers and your reports are good when they contain only about 100 servers. I suspect that the problem may not be related to the number of managed hosts. Instead it may be related to one or more particular hosts. Looks like the first 100 hosts in your inventory file cause no problem. Maybe your 104th server has some properties that reveals a bug in our report generator code. Or your 107th server. Could you delete the first 100 servers from your inventory temporarily for testing purposes and leave at most another 100 servers? If the report generated by this modified inventory is bad then it proves my assumption. If that is the case then you could find the problematic server by generating reports by inventories containing less and less servers. If you remove some servers and the report becomes good then you removed the problematic server. If you remove some servers and the report is still bad then the problematic server is still in your inventory. This way you can remove your good servers from your inventory until only your problematic server remained. Then examining the data generated based on your problematic server could help us reveal the bug in our report generator code. I suspect the data generated based on your problematic server contain some special characters that should be escaped and because they are not escaped they cause syntax errors in our javascript code. I hope my idea is clear. |
Your idea was very clear and I think it helped figure the issue out. So you are right its something in the report causing the issue, If I find this on any hosts in the report: "msg": "client_agent_status:\nFailed to create temporary directory. In some cases, you may have been able to authenticate and did not have permissions on the target directory. Consider changing the remote tmp path in ansible.cfg to a path rooted in "/tmp", for more error information use -vvv. Failed command was: ( umask 77 && mkdir -p " And simply change it to: "msg": "", The it works, as even just a report with a host with that entry by itself is blank. Do you need more info or will that be enough to work on? Thanks in advance! |
@Ansible-NOOB Thank you very much for your help in finding the cause of the bug. I could reproduce your issue in my test environment. I am working on the fix. |
@Ansible-NOOB I have just released the fix in version 0.2.1. Please install it and let's see if it works at your environment. I have found and fixed one error in our report generation code. Please keep in mind that there may be other errors that I have not found yet. We will see it when you try out the new version. |
WOOT! That worked THANK YOU SO MUCH. |
@Ansible-NOOB Thanks for your feedback and help in solving this issue! |
I have had to disable the report generation in the Client_SW playbook as it errors out and the last issue reported about it was closed with no real solution.
#21
The other issue is that when I run agent_status or Client_config the HTML file doesnt work if pull all my servers it just shows the header. But if I look at the page source it has all the info I am looking for.
If I generate a smaller report it works though.
Also is there a report that shows if the computer is joined to the domain like MCU had right on the main interface?
The text was updated successfully, but these errors were encountered: