Environment
Novell
ZENworks 7.2 Linux Management - ZLM7.2
Novell
ZENworks 7 Linux Management - ZLM7
Situation
Adding
packages to a bundle does not work after upgrading ZLM 7 IR1 to ZLM
7.2 HP2
Fatal Error:
Could not recalculate machine updates; nested exception is:
com.novell.zenworks.datamodel.exceptions.InternalDataModelException: An
error occurred while trying to create the object.
com.novell.zenworks.datamodel.exceptions.InternalDataModelException: An
error occurred while trying to create the object.
Steps to reproduce:1. Disable LDAP clear port 10389 2. Run zlm-upgrade - the upgrade will fail on upgrading the datamodel 3. Re-able clear port4. Run install.sh to complete upgrade. 5. Run zlm-upgrade -b or use zlman bap on a directory with a large number of packages, this should produce the message above.
Resolution
This issue
has been fixed in ZLM 7.2 Hot Patch 5, and ZLM 7.2 IR1. To
obtain early access to a hot patch with the fix for this problem,
Send an email to zen.feedback@novell.com
with the subject of "ZLM7.2 Hot Patch". An email reply will be sent
with instructions on how to obtain the hot patch.
Below is a
workaround (if patch is not applied):
1. On the
ZLM server login as postgres by executing command "su
postgres"
2. Once you get postgres prompt, execute "vi /tmp/zen_queue_fix.sql"
3. Save the following data into that file
BEGIN;
CREATE TABLE "my_temp" AS SELECT * FROM "zen_queue";
DROP TABLE "zen_queue";
CREATE TABLE "zen_queue" (
qid int8 not null,
action varchar(64) not null,
entry_time timestamp not null,
status_time timestamp,
status char(1),
start_time timestamp,
subject text,
params varchar(255),
retval varchar(255),
primary key (qid)
);
INSERT INTO "zen_queue" SELECT * FROM "my_temp";
DROP TABLE "my_temp";
COMMIT;
The above will change the "subject" column to text (can hold unlimited
characters, earlier 255).
4. Now execute the follwoing command from the same postgres prompt.
postgres>"psql ‑d zenworks ‑f /tmp/zen_queue_fix.sql"
This should fix the issue.
5. Exit out of postgres user and try the zlman bap command that was failing.
2. Once you get postgres prompt, execute "vi /tmp/zen_queue_fix.sql"
3. Save the following data into that file
BEGIN;
CREATE TABLE "my_temp" AS SELECT * FROM "zen_queue";
DROP TABLE "zen_queue";
CREATE TABLE "zen_queue" (
qid int8 not null,
action varchar(64) not null,
entry_time timestamp not null,
status_time timestamp,
status char(1),
start_time timestamp,
subject text,
params varchar(255),
retval varchar(255),
primary key (qid)
);
INSERT INTO "zen_queue" SELECT * FROM "my_temp";
DROP TABLE "my_temp";
COMMIT;
The above will change the "subject" column to text (can hold unlimited
characters, earlier 255).
4. Now execute the follwoing command from the same postgres prompt.
postgres>"psql ‑d zenworks ‑f /tmp/zen_queue_fix.sql"
This should fix the issue.
5. Exit out of postgres user and try the zlman bap command that was failing.