Difference between revisions of "Talk:OCS Inventory Tools"

From SME Server
Jump to navigationJump to search
 
(78 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=ipdiscover bug=
+
=known bugs=
We need to confirm that ipdiscover works when the smeserver is the forced client.
+
There are still some bugs in this RPM... Help us to fix them!
 +
==ipdiscover bug==
 +
===ipdiscover on SME===
 +
IpDiscover is not working on SME. Please use another agent to ipdiscover your networks at the moment.
  
I Tried the following:
+
I've opened a [http://forums.ocsinventory-ng.org/viewtopic.php?pid=5684#p5684 thread] on OCS forum.
ipdiscover eth0 10
 
{{Note box|''Usage : ipdiscover [iface name] [latency in ms]''}}
 
  
Here's what I got on my server:
+
Let's hope the next version will come out soon!
<IPDISCOVER>
+
===ipdiscover-util.pl===
<H><I>192.168.0.100</I><M>00:xx:xx:xx:xx:xx</M><N>pc-00100.mydomain.com</N></H>
+
This script used by the web interface do not seem to work too.
<H><I>192.168.0.253</I><M>00:xx:xx:xx:xx:xx</M><N>pc-00253.mydomain.com</N></H>
 
<H><I>192.168.0.254</I><M>00:xx:xx:xx:xx:xx</M><N>pc-00254.mydomain.com</N></H>
 
</IPDISCOVER>
 
Sounds like it's working for me... But IpDiscover discovers nothing when launched by SME OCS' Agent. There must be a problem here!
 
  
Windows Agent don't have this problem...
+
First thing to do is to change the password in this file...
 +
...
 +
my $dbhost = 'localhost';
 +
my $dbuser = 'ocs';
 +
my $dbpwd = 'ocs'; <==
 +
my $db = 'ocsweb';
 +
my $dbp = '3306';
 +
The password should be dynamical as this is a perl script. We need to use esmith::ConfigDB or something else to retrieve this value... I was unable to handle that.
  
Cool34000
+
Also a problem, the script cannot be executed. I try to add script handler for .pl but it didn't worked... Not sure about how this is working, if someone can help, please do!
----
 
=deployment=
 
==deletion bug==
 
When you delete a package, ocs complains, but it deletes the files anyway, document later
 
 
 
Stefen
 
----
 
The only way I was able to reproduce an error on package deletion is when I refreshed the page (as files were already removed, I got an error)
 
 
 
Could you be more clear on this bug? How did it happened?
 
  
 
Cool34000
 
Cool34000
 
----
 
----
  
add a package, deploy > activate > click on the red X
+
==www/ocs/install.php bugs==
ERROR: Can't delete directory /opt/inventory/ocs/download/1194511477
+
A problem was found in the default imported database. This ends with some ''alter'' errors. This can be fixed by refreshing the web page.
 
 
I have documented that you can ignore the error, maybe i should say if you see the error you can ignore?
 
 
 
stephen
 
----
 
 
 
==Upload size limit==
 
Must document that on the Wiki:
 
Max allowed packet value is locked at 10M by default on SME.
 
 
 
No need to create a custom template: DB values already exist for this! They are hidden in php.ini templates ''40DataHandling'' and ''60FileUploads''
 
 
 
What is the impact of setting large values on the server?
 
 
 
 
 
php Values can be changed with the following:
 
config setprop php UploadMaxFilesize 50M PostMaxSize 50M
 
expand-template /etc/php.ini
 
signal-event ocsglpi-update
 
  
I will add php.ini to the list of templates2expand
+
I took a look on ocsweb database with phpmyadmin before and after using install.php
  
Let's delete the mysql custom-template in the RPM and document how to change both values to allow uploading larger files!
+
I noticed that a lot of tables' ''engine type'' were ''MyISAM'' and after using install.php their type was ''InnoDB''!
  
 +
So I tried to export a new database (this time with extended parameters), but this new database don't import in ocsweb database: it ends with errors trying to create the 1st table!
  
 +
Help needed!
  
 
Cool34000
 
Cool34000
----
 
I think you should restrict the affect to just the ocs directory
 
 
config setprop ocs MaxUpload 50M
 
php_admin_value post_max_size $ocs{'MaxUpload'}
 
php_admin_value upload_max_filesize $ocs{'MaxUpload'}
 
expand-template /etc/httpd/conf/httpd.conf
 
/etc/init.d/httpd-e-smith condrestart
 
 
$ocs{'MaxUpload'} default = 10M
 
 
yes delete /etc/e-smith/templates-custom/etc/my.cnf/005mysqld
 
 
stephen
 
 
----
 
----
  
 +
=wiki page=
  
you have to set a db value anyway so you may as well add it to the ocs fragment
 
  
----
 
Yes, I tried to limit changes to ocs in the template, but it didn't worked for me.
 
  
Maybe I was missing this line:
+
==5.3.2 Deployment menu==
/etc/init.d/httpd-e-smith condrestart
 
  
Testing this now, of course it would be better to limit these values only for ocs!
+
there must be a lot of ways this could be used,  
 +
why make everyone think of them themselves when it could be spelled out
  
=> Still doesn't work... Values are expanded but can't upload file >10M... Looks like this value must be global.
+
this could be a new page, [[:Application deployment]]
  
Here's the non working template:
+
this could include other ways to deploy, eg using netlogon.bat
#--------------------------------------------------------------
 
# OCS Inventory Next Generation
 
#--------------------------------------------------------------
 
Alias /download /opt/inventory/ocs/download
 
Alias /ocs      /opt/inventory/ocs/ocsreports
 
+{
 
+    if (exists $ocs{'URL'})
 
+      { $OUT .= "Alias  /$ocs{'URL'} /opt/inventory/ocs/ocsreports"; }
 
+}
 
 
<Directory /opt/inventory/ocs/download>
 
  Options None
 
  Options +Indexes
 
  Options +Includes
 
  AllowOverride None
 
  order deny,allow
 
  deny from all
 
  allow from { $localAccess }
 
  php_admin_value open_basedir /opt/inventory/ocs/download:/tmp
 
+  php_admin_value post_max_size $ocs{'MaxUpload'}
 
+  php_admin_value upload_max_filesize $ocs{'MaxUpload'}
 
</Directory>
 
  
config setprop ocs MaxUpload 50M
+
others can work on this cool34000 has done enough
signal-event ocsglpi-update
 
/etc/init.d/httpd-e-smith condrestart
 
  
Cool34000
+
Stefen
 
----
 
----
 +
Here's the way I've always used OCS... First I import the standard ''ocsagent.exe'' in MySQL.
  
=aliases=
+
I don't like to install a service when it's not needed, so I use the standalone executable. I also don't use OCS deployment feature (I'm using GPOs for that)
Future RPM will allow to add aliases using 'URL' value to ocs and glpi
 
{
 
  if (exists $foo{'URL'})
 
  { $OUT .= "Alias  /$foo{'URL'}  /opt/foo\n"; }
 
}
 
  
=rpm changes=
+
It is so fast to use against the need of installing the Agent: put OcsLogon.exe in a share folder and simply launch it with a one command line batch script each time a session is opened.
 +
@echo off
 +
\\server\share\mydomain.com.exe /np /debug /tag:my_tag
 +
That's all!
  
for your consideration
+
Of course, more can be done...
  
split help file out into separate rpm to save redownloading
+
*Install the Agent silently in a script
use rm -f root/path/to/help in the spec file
+
*Use GPOs (deploy, install, update)
no need to touch the ocs.tar.qz
+
*Create your own ''ocsagent.exe''
 
+
People need to read the guide! It's well documented.
less chat in the install output, just say look at the wiki page, + renamed wiki page
 
 
 
don't use signal-event my-own-event
 
charlie doesn't want new events created, so we obey, (mostly)
 
just give all the commands, or use an existing one, we could use domain-modify
 
 
 
stephen
 
----
 
Thanks for these comments... I didn't know that we should not use events functions for our own events. Any chance to have an explanation? This sounds very weird to me (but there must be some reasons!)
 
 
 
Anyway, I will use domain-modify to expand all templates... I will try to (mostly) obey ;-)
 
 
 
Here's the actual createlinks perl script:
 
#!/usr/bin/perl -w
 
use esmith::Build::CreateLinks qw(:all);
 
 
# Templates to adjust
 
templates2events("/etc/e-smith/sql/init/80ocs_mysql.sql",         qw(ocsglpi-update post-upgrade ));
 
templates2events("/etc/e-smith/sql/init/82glpi_mysql.sql",         qw(ocsglpi-update post-upgrade ));
 
templates2events("/etc/e-smith/sql/init/84ocs-glpi.sql",          qw(ocsglpi-update post-upgrade ));
 
templates2events("/etc/httpd/conf/httpd.conf",                    qw(ocsglpi-update post-upgrade ));
 
templates2events("/etc/ocsinventory-agent/ocsinv.conf",            qw(ocsglpi-update post-upgrade ));
 
templates2events("/etc/php.ini",                                  qw(ocsglpi-update post-upgrade ));
 
templates2events("/opt/inventory/glpi/config/config_db.php",      qw(ocsglpi-update post-upgrade ));
 
templates2events("/opt/inventory/ocs/ocsreports/dbconfig.inc.php", qw(ocsglpi-update post-upgrade ));
 
# Services to restart
 
safe_symlink("restart", "root/etc/e-smith/events/ocsglpi-update/services2adjust/httpd-e-smith");
 
safe_symlink("start",  "root/etc/e-smith/events/ocsglpi-update/services2adjust/mysql.init");
 
As you can see, there's a loooong list as all is templated!
 
 
 
 
 
I will also delete all chat in the RPM. That's an old habits of mine...
 
 
 
About the help file, I remember reading that it must be placed into www/ocs/files/guide.pdf (else I would have put this file in /usr/share/doc/) so we cannot delete this file from the RPM :'(
 
  
 +
If someone can take some time to document that, it would be nice!
  
 +
Cool34000
 
----
 
----
/etc/e-smith/sql/init/* should only be used one to create the db table, then it is deleted
 
httpd.conf and php.ini are in standard events
 
which only leaves three fragments to document in the rare case that something changes
 
 
so here we don't really need the event,
 
a little documentation will do and you had to doc the new event anyway
 
  
yes put the help file at www/ocs/files/guide.pdf
+
==glpi==
just make a new rpm with only that file + make it a dependancy
 
then you can delete it from the main rpm
 
  
another thing to do in time is...
+
someone who uses this may like to add some more information on how to  use it, some link to more docs at least
add all the requires (to perl dependencies) that are available from existing repos
 
then you can reduce the number of perl rpm in your download
 
the less you are responsible for the better
 

Latest revision as of 00:57, 11 November 2007

known bugs

There are still some bugs in this RPM... Help us to fix them!

ipdiscover bug

ipdiscover on SME

IpDiscover is not working on SME. Please use another agent to ipdiscover your networks at the moment.

I've opened a thread on OCS forum.

Let's hope the next version will come out soon!

ipdiscover-util.pl

This script used by the web interface do not seem to work too.

First thing to do is to change the password in this file...

...
my $dbhost = 'localhost';
my $dbuser = 'ocs';
my $dbpwd = 'ocs'; <==
my $db = 'ocsweb';
my $dbp = '3306';

The password should be dynamical as this is a perl script. We need to use esmith::ConfigDB or something else to retrieve this value... I was unable to handle that.

Also a problem, the script cannot be executed. I try to add script handler for .pl but it didn't worked... Not sure about how this is working, if someone can help, please do!

Cool34000


www/ocs/install.php bugs

A problem was found in the default imported database. This ends with some alter errors. This can be fixed by refreshing the web page.

I took a look on ocsweb database with phpmyadmin before and after using install.php

I noticed that a lot of tables' engine type were MyISAM and after using install.php their type was InnoDB!

So I tried to export a new database (this time with extended parameters), but this new database don't import in ocsweb database: it ends with errors trying to create the 1st table!

Help needed!

Cool34000


wiki page

5.3.2 Deployment menu

there must be a lot of ways this could be used, why make everyone think of them themselves when it could be spelled out

this could be a new page, Application deployment

this could include other ways to deploy, eg using netlogon.bat

others can work on this cool34000 has done enough

Stefen


Here's the way I've always used OCS... First I import the standard ocsagent.exe in MySQL.

I don't like to install a service when it's not needed, so I use the standalone executable. I also don't use OCS deployment feature (I'm using GPOs for that)

It is so fast to use against the need of installing the Agent: put OcsLogon.exe in a share folder and simply launch it with a one command line batch script each time a session is opened.

@echo off
\\server\share\mydomain.com.exe /np /debug /tag:my_tag

That's all!

Of course, more can be done...

  • Install the Agent silently in a script
  • Use GPOs (deploy, install, update)
  • Create your own ocsagent.exe

People need to read the guide! It's well documented.

If someone can take some time to document that, it would be nice!

Cool34000


glpi

someone who uses this may like to add some more information on how to use it, some link to more docs at least