TACTIC Open Source
TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Printable Version

+- TACTIC Open Source (http://forum.southpawtech.com)
+-- Forum: TACTIC Open Source (http://forum.southpawtech.com/forumdisplay.php?fid=3)
+--- Forum: TACTIC Announcements (http://forum.southpawtech.com/forumdisplay.php?fid=5)
+--- Thread: TACTIC RPM, installation instructions and refresh of Sys-Admin docs (/showthread.php?tid=17)



TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Celton McGrath - 10-25-2019

Hi TACTICians!

The TACTIC Open Source Team is pleased to announce the release of a brand new TACTIC RPM and a refresh of the System Administrator documentation.

The new RPM is available on the community downloads page and RPM installation instructions are available in the new system administrator documentation page.

The system administrator documentation refresh is an update of 36 documentation pages with topics including planning, installation and maintenance. We added new topics (like the RPM instructions), and plan to add more topics.

The documentation has been moved to the MkDocs framework. This framework provides an easy way to write documentation, even through GitHub. 

If you are interested in contributing to the documentation, please fork and create pull requests to the Docs repo:

https://github.com/Southpaw-TACTIC/Docs

We are planning on refreshing the remainder of the TACTIC documentation soon. (Some of you may know just much information is contained in these docs!) We will be starting with the Quick Start docs.

Thank you for those who have been asking and waiting patiently. 

Best,

Celton


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - listy - 10-27-2019

Hi!
This RPM actually works. Thanks!
But i have a lot of bugs, almost all of them about missing modules which exists but tactic can't see it.
Should i give some bug reports here or in another forum thread? Or i can try to fix it myself and make a PR?

//

I have used my old DB with old and new projects, fired upgrade db script, so my installation is not "clean". But in order to continue using my old projects with updated TACTIC i should fix those bugs anyway

Example when saving tactic config:

Error: No module named 'environment'
--------------------------------------------------
File "/home/apache/tactic/src/pyasm/command/command.py", line 264, in execute_cmd
ret_val = cmd.execute()
File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 220, in execute
self2.results = exec_meth(self, ticket, meth, args)
File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 250, in exec_meth
results = meth(self, ticket, *new_args)
File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 5550, in execute_cmd
Command.execute_cmd(cmd)
File "/home/apache/tactic/src/pyasm/command/command.py", line 264, in execute_cmd
ret_val = cmd.execute()
File "/home/apache/tactic/src/tactic/ui/startup/db_config_wdg.py", line 658, in execute
Config.unset_tmp_config()
File "/home/apache/tactic/src/pyasm/common/config.py", line 283, in unset_tmp_config
from environment import Environment

Error: No module named 'environment'


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Celton McGrath - 10-27-2019

Hi Listy,

Thank for trying out the RPM. What OS did you try it with?

The module error you reported is a Python 3 bug, and will be fixed in the next release. Python 3 requires relative imports to be prefixed with a "."

Thank you for posting that bug, and please post any more RPM related bugs here.


Best,

Celton


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - listy - 10-27-2019

Editing User in users:
Error: No module named 'file_wdg'

File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 5299, in get_widget
html = widget.get_buffer_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 480, in get_buffer_display
buffer = self.get_buffer(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 471, in get_buffer
self.explicit_display(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 438, in explicit_display
widget = child.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 1800, in get_display
return super(Table,self).get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/widget/input_wdg.py", line 1887, in get_display
from file_wdg import ThumbWdg

Task scheduler column show:

Error: name 'basestring' is not definedTACTIC has encountered an error.

Reported Error: "name 'basestring' is not defined"

Show the Stack Trace for the Error:
Show the System Info:
Ignore and go to default project page:
Stack Trace
Error: name 'basestring' is not defined

File "/home/apache/tactic/src/tactic/ui/panel/table_layout_wdg.py", line 3441, in handle_row
html = widget.get_buffer_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 480, in get_buffer_display
buffer = self.get_buffer(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 471, in get_buffer
self.explicit_display(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/tactic/ui/table/gantt_element_wdg.py", line 1045, in get_display
divider_wdg = self.get_divider_wdg()
File "/home/apache/tactic/src/tactic/ui/table/gantt_element_wdg.py", line 1702, in get_divider_wdg
draw_div = self.get_day_bar_wdg(datetime.datetime.today(), "blue", opacity=0.5)
File "/home/apache/tactic/src/tactic/ui/table/gantt_element_wdg.py", line 1755, in get_day_bar_wdg
if isinstance(date, basestring):

Manage stypes selecting any stype:

Error: module 'types' has no attribute 'StringTypes'

File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 5299, in get_widget
html = widget.get_buffer_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 480, in get_buffer_display
buffer = self.get_buffer(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 471, in get_buffer
self.explicit_display(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 438, in explicit_display
widget = child.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 1800, in get_display
return super(Table,self).get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/tactic/ui/manager/base_section_wdg.py", line 113, in get_display
if isinstance(view, types.StringTypes):

Manage Views, selecting any View:
Error: No module named 'view_section_wdg'

File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 5299, in get_widget
html = widget.get_buffer_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 480, in get_buffer_display
buffer = self.get_buffer(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 471, in get_buffer
self.explicit_display(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/tactic/ui/manager/view_manager_wdg.py", line 119, in get_display
menu_div.add( self.get_section_wdg("_template", editable=False) )
File "/home/apache/tactic/src/tactic/ui/manager/view_manager_wdg.py", line 652, in get_section_wdg
from view_section_wdg import ViewSectionWdg

Project configuration > Recursion Depth exceeded

Opening note table:
Error: No module named 'file_wdg'

File "/home/apache/tactic/src/pyasm/prod/service/api_xmlrpc.py", line 5299, in get_widget
html = widget.get_buffer_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 480, in get_buffer_display
buffer = self.get_buffer(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 471, in get_buffer
self.explicit_display(cls)
File "/home/apache/tactic/src/pyasm/web/widget.py", line 438, in explicit_display
widget = child.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/pyasm/web/html_wdg.py", line 807, in get_display
super(HtmlElement,self).get_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 459, in get_display
widget.explicit_display()
File "/home/apache/tactic/src/pyasm/web/widget.py", line 429, in explicit_display
child = self.get_display()
File "/home/apache/tactic/src/tactic/ui/panel/table_layout_wdg.py", line 788, in get_display
widget.preprocess()
File "/home/apache/tactic/src/pyasm/widget/table_element_wdg.py", line 2277, in preprocess
from file_wdg import ThumbWdg


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Celton McGrath - 10-27-2019

Thank you for uncovering these errors.

The errors you've posted related to "Maximum recursion depth exceeded" are caused by the missing "docs" folder in the RPM. We originally removed it to make the RPM light, but will need to add it back temporarily.


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - listy - 10-27-2019

(10-27-2019, 06:55 PM)Celton McGrath Wrote: Hi Listy,

Thank for trying out the RPM. What OS did you try it with?

Best,

Celton
CentOs 7. Took me some time to install without step-by-step docs. Thanks to Diego for helping me out


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Celton McGrath - 10-27-2019

Awesome! Keep posting any errors here.

Did you see the RHEL installation guide in the new sys-admin docs? 

http://community.southpawtech.com/docs/sys-admin/install-tactic-rhel/

Did you have to do anything special for your installation out of these steps?

Thanks,


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - listy - 10-28-2019

(10-27-2019, 11:24 PM)Celton McGrath Wrote: Awesome! Keep posting any errors here.

Did you see the RHEL installation guide in the new sys-admin docs? 

http://community.southpawtech.com/docs/sys-admin/install-tactic-rhel/

Did you have to do anything special for your installation out of these steps?

Thanks,
Hi. Yes i have used this guide. The problem is there is nod "dnf" in centos, and "yum install python3-pillow" and others did not working, i had to do this through pip.
Also, python37 is not default, and i had to get and compile it myself, and run all through "python3.7 statrtup_dev.py".
Postgres 9.6 is the same, "/var/lib/pgsql/data/pg_hba.conf" should be in different folder.



RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - remkonoteboom - 10-28-2019

This is really showing CentOS 7's age. On newer versions of Fedora, which eventually become CentOS/RHEL, dnf has replaced yum (it is the successor to yum). Also, python2 is not installed at all default. Python3 is the default and "python" command is mapped to python3.

CentOS 8 was just recently released. Haven't looked at it yet, but I suspect it has adopted some of what I mentioned.


RE: TACTIC RPM, installation instructions and refresh of Sys-Admin docs - Diego - 10-30-2019

Yes, CentOS 7 software stack is showing it's age!
But un unfortunately it is still relevant, Maya and many other VFX softwares are still compiled with gcc 4 or 5 and tested on CentOS/RH 7.
I found a workaround by installing postgres in a docker image, python3 with RedHat SCLS and the python modules with pip3 in a virtualenv. Not the most elegant installation but it works.
I made a gist here (it is not a script, just my installation notes):
https://gist.github.com/diegocortassa/6a0adca6f9abaddbe76f4ee73b82072d

There are systemd unit files, in case you are interested in changing the init file I could make a PR for them. Is there a linux distribution you suggest/use? I think Fedora is to fast paced for use in production.

P.S.
You are right CentOS 8 moved to dnf