Talk:OCS Inventory Tools

From SME Server
Revision as of 21:30, 8 November 2007 by Snoble (talk | contribs) (→‎future RPM)
Jump to navigationJump to search

known bugs

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

ipdiscover bug

We need to confirm that ipdiscover works when the smeserver is the forced client.

I Tried the following:

ipdiscover eth0 10
Important.png Note:
Usage : ipdiscover [iface name] [latency in ms]


Here's what I got on my server:

<IPDISCOVER>
<H>192.168.0.100<M>00:xx:xx:xx:xx:xx</M><N>pc-00100.mydomain.com</N></H>
<H>192.168.0.253<M>00:xx:xx:xx:xx:xx</M><N>pc-00253.mydomain.com</N></H>
<H>192.168.0.254<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...

Cool34000


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


add a package, deploy > activate > click on the red X

ERROR: Can't delete directory /opt/inventory/ocs/download/1194511477

I have documented that you can ignore the error, maybe i should say if you see the error you can ignore?

stephen


future RPM

What will be fixed in next RPM release...

upload size limit

Max allowed packet value is locked at 10M by default on SME.

Let's delete the mysql custom-template in the future RPM!

We can modify this value to only affect the ocs directory.

Add the following lines to Apache template:

<Directory /opt/inventory/ocs/ocsreports>
..
php_admin_value post_max_size $ocs{'MaxUpload'}
php_admin_value upload_max_filesize $ocs{'MaxUpload'}

Apply changes:

config setprop ocs MaxUpload 50M
expand-template /etc/httpd/conf/httpd.conf
/etc/init.d/httpd-e-smith condrestart

set $ocs{'MaxUpload'} defaulting to something in the rpm, 10M or more ?

aliases

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 is not a chatroom

Less chat in the install output, just say look at the renamed wiki page

events

Don't use signal-event my-own-event: just give all the commands, or use an existing one, we could use domain-modify

Stefen


Here's the future 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(domain-modify post-upgrade ));
templates2events("/etc/e-smith/sql/init/82glpi_mysql.sql",         qw(domain-modify post-upgrade ));
templates2events("/etc/e-smith/sql/init/84ocs-glpi.sql",           qw(domain-modify post-upgrade ));
templates2events("/etc/ocsinventory-agent/ocsinv.conf",            qw(domain-modify post-upgrade ));
templates2events("/opt/inventory/glpi/config/config_db.php",       qw(domain-modify post-upgrade ));
templates2events("/opt/inventory/ocs/ocsreports/dbconfig.inc.php", qw(domain-modify post-upgrade ));
# Services to restart
safe_symlink("start",           "root/etc/e-smith/events/domain-modify/services2adjust/mysql.init");

Apache is already expanded and restarted by event domain-modify so I removed these useless lines... Events are also available when calling a post-upgrade. I based this on how SME handles webmail and also what I've found in other SPRMs...


How I handle SME integration:

80ocs_mysql.sql  => create/update ocs  database+user+password
82glpi_mysql.sql => create/update glpi database+user+password
84ocs-glpi.sql   => apply ocs' password in glpi database
ocsinv.conf      => apply Agent config
config_db.php    => MySQL DB passwords
dbconfig.inc.php => MySQL DB passwords
Warning.png Warning:
These templates allow to restore the good password when using www/ocs/install.php (used for web interface updates!!!)


Important.png Note:
These templates also ensures that if ocs password changes, it will be updated in glpi MySQL database!!!


Important.png Note:
These templates are working for RPM install, RPM updates and everyday use :-)


Cool34000


save bandwidth

Create a separate RPM with the guide.pdf and make it a dependency of the main RPM.

  • option 1. just delete the guide.pdf from ocs.tar.gz manually,
  • option 2. alter the .spec to delete it automatically,
  • option 2b. create the help file rpm in the same spec, how ?

MySQL init scripts

/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 (and are we still changing php.ini?)
which only leaves three fragments to document in the rare case that something changes

Stefen


Yes, all that goes in /etc/e-smith/sql/init/ is dropped after a successful importation. I know that, I use it this way:

  • 3 templates to dynamically create the DB+User+Password and change OCS' password in GLPI' database. These templates are harmless if re-expanded...
  • 2 databases (one for ocs, one for glpi). They are imported ONLY ON NEW INSTALL. These 2 databases are dropped once imported (no need to keep them!)... It also allows me to import the right GLPI database according to $LANG

So when the RPM runs:

  • 3 files loaded on RPM updates
  • 5 files loaded on RPM install

Take a look on their name when all 5 files are put in /etc/e-smith/sql/init/ once expanded

Cool3400



dependencies

change the install method to install the perl dependencies that are available from existing repos.

Then you can reduce the number of perl rpms in your download the less you are responsible for the better

yum localinstall smeserver-inventory-tools* --enablerepo=?

stephen


ocsagent.exe

I'm not sure this is needed, lets delete it from the server and see if it affects anything before removing from the rpm,

stephen


About ocsagent.exe, it doesn't help you when you've installed the Agent, but if you use the standalone OCSLogon.exe to send inventories, the client will not download needed files. This file is needed!

By the way, we need to document that: next time the Agent version changes, this file needs to be upgraded too!

Cool34000


new accounts

2 'url' accounts types will be created for ocs:

root/etc/e-smith/db/accounts/defaults/ocsinterface
root/etc/e-smith/db/accounts/defaults/ocsinventory

These virtual locations are used by ocs server-side.