mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Christophe Sovant
26.31.2013 340c70e3cb0ba52c4abd70eceb7b4bbfb877d35c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ! CCPL HEADER START
  !
  ! This work is licensed under the Creative Commons
  ! Attribution-NonCommercial-NoDerivs 3.0 Unported License.
  ! To view a copy of this license, visit
  ! http://creativecommons.org/licenses/by-nc-nd/3.0/
  ! or send a letter to Creative Commons, 444 Castro Street,
  ! Suite 900, Mountain View, California, 94041, USA.
  !
  ! You can also obtain a copy of the license at
  ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt.
  ! See the License for the specific language governing permissions
  ! and limitations under the License.
  !
  ! If applicable, add the following below this CCPL HEADER, with the fields
  ! enclosed by brackets "[]" replaced with your own identifying information:
  !      Portions Copyright [yyyy] [name of copyright owner]
  !
  ! CCPL HEADER END
  !
  !      Copyright 2011-2013 ForgeRock AS
  !
-->
<refentry xml:id='upgrade-1'
 xmlns='http://docbook.org/ns/docbook'
 version='5.0' xml:lang='en'
 xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
 xsi:schemaLocation='http://docbook.org/ns/docbook http://docbook.org/xml/5.0/xsd/docbook.xsd'
 xmlns:xlink='http://www.w3.org/1999/xlink'
 xmlns:xinclude='http://www.w3.org/2001/XInclude'>
 <info><copyright><year>2011-2013</year><holder>ForgeRock AS</holder></copyright></info>
 <refmeta>
  <refentrytitle>upgrade</refentrytitle><manvolnum>1</manvolnum>
  <refmiscinfo class="software">OpenDJ</refmiscinfo>
  <refmiscinfo class="version"><?eval ${docTargetVersion}?></refmiscinfo>
 </refmeta>
 <refnamediv>
  <refname>upgrade</refname>
  <refpurpose>upgrade OpenDJ configuration &amp; application data</refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <cmdsynopsis>
   <command>upgrade</command>
   <arg choice="req">options</arg>
  </cmdsynopsis>
 </refsynopsisdiv>
 <refsect1>
  <title>Description</title>
 
  <para>This utility upgrades OpenDJ configuration (schema, directory server
  configuration, and other configuration files) and application data (primarily
  directory data) so that it is compatible with the binary files and scripts
  that are installed.</para>
 
  <para>The <command>upgrade</command> command thus performs only part of the
  upgrade process, which includes the following phases for a single
  server.</para>
 
  <orderedlist>
   <listitem>
    <para>Get and unpack a newer version of OpenDJ directory server
    software.</para>
   </listitem>
   <listitem>
    <para>Stop the current OpenDJ directory server.</para>
   </listitem>
   <listitem>
    <para>Overwrite existing binary and script files with those of the
    newer version, and then run this utility, the <command>upgrade</command>
    command, before restarting OpenDJ.</para>
   </listitem>
   <listitem>
    <para>Start the upgraded OpenDJ directory server.</para>
   </listitem>
  </orderedlist>
 
  <important>
   <para>The <command>upgrade</command> command <emphasis>does not back up
   OpenDJ before you upgrade, nor does it restore OpenDJ if the
   <command>upgrade</command> command fails</emphasis>. In order to revert a
   failed upgrade, make sure you back up OpenDJ directory server before you
   overwrite existing binary and script files.</para>
  </important>
 
  <para>By default, the <command>upgrade</command> command requests
  confirmation before making important configuration changes. You can use
  the <option>--no-prompt</option> option to run the command
  non-interactively.</para>
 
  <para>When using the <option>--no-prompt</option> option, if the
  <command>upgrade</command> command cannot complete because it requires
  confirmation for a potentially very long or critical task, then it exits
  with an error and a message about how to finish making the changes. You can
  add the <option>--force</option> option to force a non-interactive upgrade
  to continue in this case, also performing long running and critical
  tasks.</para>
 
  <para>After upgrading, see the resulting <filename>upgrade.log</filename>
  file for a full list of operations performed.</para>
 </refsect1>
 <refsect1>
  <title>Options</title>
  <para>The following options are supported.</para>
  <variablelist>
   <varlistentry>
    <term><option>--force</option></term>
    <listitem>
     <para>Forces a non-interactive upgrade to continue even if it requires
     user interaction. In particular, long running or critical upgrade tasks,
     such as re-indexing, which require user confirmation will be skipped. This
     option may only be used with the <option>--no-prompt</option> option.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term><option>--ignoreErrors</option></term>
    <listitem>
     <para>Ignores any errors which occur during the upgrade. This option
     should be used with caution and may be useful in automated deployments
     where potential errors are known in advance and resolved after the upgrade
     has completed.</para>
    </listitem>
   </varlistentry>
  </variablelist>
  <refsect2>
   <title>Utility Input/Output Options</title>
   <variablelist>
    <varlistentry>
     <term><option>-n, --no-prompt</option></term>
     <listitem>
      <para>Use non-interactive mode. Prompt for any required information
      rather than fail.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><option>-Q, --quiet</option></term>
     <listitem>
      <para>Use quiet mode.</para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><option>-v, --verbose</option></term>
     <listitem>
      <para>Use verbose mode.</para>
     </listitem>
    </varlistentry>
   </variablelist>
  </refsect2>
  <refsect2>
   <title>General Options</title>
   <variablelist>
    <varlistentry>
     <term><option>-V, --version</option></term>
     <listitem>
      <para>Display version information.</para>
     </listitem>
    </varlistentry>
     <varlistentry>
     <term><option>-?, -H, --help</option></term>
     <listitem>
      <para>Display usage information.</para>
     </listitem>
    </varlistentry>
   </variablelist>
  </refsect2>
 </refsect1>
 <refsect1>
  <title>Exit Codes</title>
  <variablelist>
   <varlistentry>
    <term>0</term>
    <listitem>
     <para>The command completed successfully.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>2</term>
    <listitem>
     <para>The command was run in non-interactive mode, but could not complete
     because confirmation was required to run a long or critical task.</para>
     <para>See the error message or the log for details.</para>
    </listitem>
   </varlistentry>
   <varlistentry>
    <term>Other</term>
    <listitem>
     <para>An error occurred.</para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>
 <refsect1>
  <title>Examples</title>
  <para>The following example shows the upgrade process for OpenDJ directory
  server installed from the cross-platform (.zip) delivery.</para>
 
  <!--
   Intentionally not using <?eval ${stableServerVersion}?> instead of 2.4.6:
 
   Once the ${stableServerVersion} has moved to the new file name,
   the directory names will change, so 2.4.6 is not a variable here,
   but instead an example that should be common for the first release
   with the new upgrade command.
 
   Perhaps people will forgive details missing in this upgrade that happened
   after the example was run.
  -->
 
  <screen>$ cd /path/to
$ ls
OpenDJ-2.4.6
$ ./OpenDJ-2.4.6/bin/stop-ds --quiet
... msg=The backend userRoot is now taken offline
... msg=The Directory Server is now stopped
$ zip -rq OpenDJ-backup.zip OpenDJ-2.4.6
$ unzip -q ~/Downloads/OpenDJ-<?eval ${docTargetVersion}?>.zip
$ cp -r opendj/* OpenDJ-2.4.6/
$ rm -rf opendj
$ mv OpenDJ-2.4.6 opendj
$ ./opendj/upgrade --no-prompt
 
>>>> OpenDJ Upgrade Utility
 
 * OpenDJ will be upgraded from version 2.4.6.8102 to <?eval ${docTargetVersion}?>.<replaceable>revision</replaceable>
 * See '/path/to/opendj/upgrade.log' for a detailed log of this operation
 
>>>> Preparing to upgrade
 
  OpenDJ <?eval ${docTargetVersion}?> modified the default configuration of the 'isMemberOf' virtual
  attribute so that it is included with group entries. This was done in order
  to make it easier for users to determine which groups a 'nested' group
  belongs to.
  Do you want to make this configuration change? (yes/no) yes
 
  The upgrade is ready to proceed. Do you wish to continue? (yes/no) yes
 
 
>>>> Performing upgrade
 
  Fixing de-DE collation matching rule OID............................   100%
  Updating password policy configurations.............................   100%
  Updating audit log publisher configuration..........................   100%
  Adding 'etag' virtual attribute schema..............................   100%
  Configuring 'etag' virtual attribute................................   100%
  Configuring 'ds-pwp-password-expiration-time' virtual attribute.....   100%
  Updating certificate syntax configuration...........................   100%
  Updating JPEG syntax configuration..................................   100%
  Updating country string syntax configuration........................   100%
  Modifying filter in 'isMemberOf' virtual attribute configuration....   100%
  Updating dictionary password validator configuration................   100%
  Updating attribute value password validator configuration...........   100%
  Adding PBKDF2 password storage scheme configuration.................   100%
  Replacing schema file '02-config.ldif'..............................   100%
  Archiving concatenated schema.......................................   100%
 
>>>> OpenDJ was successfully upgraded from version 2.4.6.8102 to <?eval ${docTargetVersion}?>.<replaceable>revision</replaceable>
 
 * See '/path/to/opendj/upgrade.log' for a detailed log of this operation
$ ./opendj/bin/start-ds --quiet
$ </screen>
 
  <para>Native packages (.deb, .rpm) perform more of the upgrade process,
  stopping OpenDJ if it is running, overwriting older files with newer files,
  running this utility, and starting OpenDJ if it was running when you upgraded
  the package(s).</para>
 </refsect1>
</refentry>