Skip to main content
Jamf Nation, hosted by Jamf, is the largest Apple IT management community in the world. Dialog with your fellow IT professionals, gain insight about Apple device deployments, share best practices and bounce ideas off each other. Join the conversation.

On-Prem Jamf Customers Upgrading to v9.98

Overview

If you have run v8.0 or v8.1 of Jamf Pro, follow the instructions in this article before upgrading to v9.98. This will help determine whether your environment is affected by an issue that has no impact to functionality but causes increased error logging in your JSS when inventory records are updated.

Procedure

First, run the following command and query to see if the unique key constraint exists in the serial_number field of the certificate_authority_issued table:

use YourDatabaseNameHere;
SHOW KEYS FROM certificate_authority_issued WHERE Non_unique=0 AND column_name='serial_number';

If "1 row in set" is returned, the constraint exists. If "empty set" is returned, the constraint does not exist, so do not proceed.

If the unique key constraint exists, do the following:
1. Back up your database.
2. Remove the constraint and the index to which it's attached by running the following command:

ALTER TABLE certificate_authority_issued DROP INDEX serial_number;

3. Put the index back into the database by running the following command:

CREATE INDEX serial_number ON certificate_authority_issued(serial_number);

When those steps are complete, you can upgrade to v9.98.

Like Comment
SOLVED Posted: 3/22/17 at 9:47 AM by Hawky

Upgrade time!

What about v10.0?

Like
SOLVED Posted: 3/22/17 at 10:01 AM by CasperSally
If you have run v8.0 or v8.1 of Jamf Pro

Does this mean if you ever ran 8.0 or 8.1, or if only you're upgrading straight from 8.0/8.1?

Like
JAMFBadge
SOLVED Posted: 3/22/17 at 10:55 AM by jake

@CasperSally - It means if you have ever ran 8.0 or 8.1.

Like
SOLVED Posted: 3/22/17 at 11:35 AM by CasperSally

thanks @jake - i figured. should be an interesting upgrade - this, plus likely long startup process because of large application count, plus upgrading mysql.

Like
SOLVED Posted: 3/22/17 at 12:06 PM by jdinger29

After completing these steps I am still returning '1 row in set'. Is that expected or should I be returning 'empty set'?

Like
JAMFBadge
SOLVED Posted: 3/22/17 at 12:44 PM by ryan.yohnk

@jdinger29 - After running the above commands, we'd expect running the "SHOW KEYS" command to return an 'empty set'. Here's an example of an execution:

mysql> use jamfsoftware;
Database changed
mysql> SHOW KEYS FROM certificate_authority_issued WHERE Non_unique=0 AND column_name='serial_number';
+------------------------------+------------+---------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table                        | Non_unique | Key_name      | Seq_in_index | Column_name   | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+------------------------------+------------+---------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| certificate_authority_issued |          0 | serial_number |            1 | serial_number | A         |          26 |     NULL | NULL   |      | BTREE      |         |               |
+------------------------------+------------+---------------+--------------+---------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)

mysql> ALTER TABLE certificate_authority_issued DROP INDEX serial_number;
Query OK, X rows affected (0.02 sec)
Records: X  Duplicates: 0  Warnings: 0

mysql> CREATE INDEX serial_number ON certificate_authority_issued(serial_number);
Query OK, X rows affected (0.01 sec)
Records: X  Duplicates: 0  Warnings: 0

mysql> SHOW KEYS FROM certificate_authority_issued WHERE Non_unique=0 AND column_name='serial_number';
Empty set (0.00 sec)

If any of the commands do not return an OK status or you're not seeing the "empty set" after running the ALTER and CREATE command, please contact support to help diagnose the issue.

Like
SOLVED Posted: 3/22/17 at 12:55 PM by jdinger29

Ryan - Thanks so much for your help! Everything is looking as it should now.

Like
SOLVED Posted: 3/22/17 at 1:28 PM by blackholemac

So in clarification, if it returns "empty set", I should be okay to proceed with an upgrade? Not planning on it for a week or two, but figured I'd get prep steps ready.

This database started out years ago at Casper 8.6, but has been patched, upgraded, re-hosted on a different platform and migrated 2-3 times since then. I ran the command on it and received the following:

This sounds like I should not get snagged on this, but figured I'd seek clarification.

Like
JAMFBadge
SOLVED Posted: 3/22/17 at 1:39 PM by ryan.yohnk

@blackholemac - That is correct. This issue would only impact people who at one point were on 8.0 - 8.1, and running that command and getting an "empty set" ensures that you're not in a state where these errors would appear in your log. So it looks like you're good to go!

Like
SOLVED Posted: 3/22/17 at 1:41 PM by blackholemac

I feel like a dork now...I thought I read 8.x...we've never been on earlier than 8.6...sorry for wasting time.

Like
JAMFBadge
SOLVED Posted: 3/22/17 at 2:47 PM by ryan.yohnk

@blackholemac No need to apologize. It's great that you're being proactive!

Like