Révision 40

bin/get-conf-snapshot (revision 40)
3 3

  
4 4
function usage {
5 5
echo "Syntax : $0 zfs_filesystem/volume_name" 1>&2
6
echo "Return the parameters snapshot for a zfs filesystem/volume" 1>&2
6
echo "Return snapshot parameters for a given zfs filesystem/volume" 1>&2
7 7
}
8 8

  
9 9
DIR_CRON="/etc/cron.d/"
bin/disable-snapshot (revision 40)
5 5
DIR_CONF_SNAPSHOT="/opt/gZFS/snapshots/"
6 6
BIN_ZFS_SNAPSHOT="/sbin/zfs-snapshot"
7 7

  
8
# TODO: traduire les msg
8 9

  
9

  
10

  
11

  
12

  
13 10
function usage {
14 11
  echo "Usage :" 1>&2
15 12
  echo "disable-snapshot [OPTIONS]" 1>&2
bin/enable-replica (revision 40)
5 5
DIR_CRON="/etc/cron.d/"
6 6
BIN_ZFS_REPLICA="/sbin/zfs-replica"
7 7

  
8
# TODO: traduire les msg
9

  
8 10
function usage {
9 11
  echo "USAGE :"
10 12
  echo "$0 -o volume_fs_to_replicate -r volume_fs_destination -n number_replicas_to_keep -m minute_cron -H hour_cron -D Day_of_Month_cron -M month_cron -d day_of_week_cron [-s server destination]" 1>&2
......
15 17
  echo "  -o : origin volume or a filesystem to replicate" 1>&2
16 18
  echo "  -r : volume or filesystem replicated" 1>&2
17 19
  echo "  -n : number replicas to keep" 1>&2
18
  echo "  -s : if the replica destination is on a another zfs server, so you need to specify this option with the name of server." 1>&2
19
  echo "      The remote replication use ssh. So please, generate a ssh private/public key and the public key in /root/.ssh/authorized_key" 1>&2
20
  echo "      on the remote server" 1>&2
20
  echo "  -s : if replica destination is on another zfs server, you need to specify this option with the name of server." 1>&2
21
  echo "      Warning ! Remote replication use ssh. So please, generate a ssh private/public key and the public key in /root/.ssh/authorized_key" 1>&2
22
  echo "      on remote server" 1>&2
21 23
  echo "  -m : minute field for cron replication" 1>&2
22 24
  echo "  -H : hour field for cron replication" 1>&2
23 25
  echo "  -D : Day of Month field for cron replication" 1>&2
bin/add-iscsi-volume (revision 40)
46 46
do
47 47
   CHECK_TID=$(($CHECK_TID + 1))
48 48
done 
49
echo "*** iscsi volume name : ***" 
49
echo "*** iscsi volume name: ***" 
50 50
while read inputline
51 51
do
52 52
   NAME_ISCSI=$inputline 
53
   echo "*** Are you sur : $inputline ? (y/n) ***"
53
   echo "*** Are you sure: $inputline ? (y/n) ***"
54 54
   
55 55
   while read inputConfirm
56 56
   do
......
58 58
      then
59 59
         break
60 60
      fi
61
      echo "*** Are you sur : $inputline ? (y/n) ***" 
61
      echo "*** Are you sure: $inputline ? (y/n) ***" 
62 62
   done
63 63

  
64 64
   if [ "$inputConfirm" = "y" ]
......
67 67
   fi
68 68
   if [ "$inputConfirm" != "y" ]
69 69
   then
70
      echo "*** iscsi volume name : ***"
70
      echo "*** iscsi volume name: ***"
71 71
   fi
72 72
done
73 73

  
74 74
echo ""
75
echo "*** Step I : Initialization of TID and iscsi volume name ***"
75
echo "*** Step I: Initialization of TID and iscsi volume name ***"
76 76
TODAY=$(date +%Y%m%d%H%M%S)
77 77
ietadm --op new --tid=$CHECK_TID --params Name=iqn.$TODAY:$(hostname)-ens-zfs-iscsi-$NAME_ISCSI
78 78
if [ $? -eq 0 ]
79 79
then
80
   echo "*** Path of zfs device (zvol) to export : ***"
80
   echo "*** Path of zfs device (zvol) to export: ***"
81 81
   
82 82

  
83 83
   while read -e inputline
84 84
   do
85 85
      PATH_ZVOL=$inputline
86
      echo "*** Are you sur : $inputline ? (y/n) ***"
86
      echo "*** Are you sure: $inputline ? (y/n) ***"
87 87

  
88 88
      while read inputConfirm
89 89
      do
......
91 91
         then
92 92
            break
93 93
         fi
94
         echo "*** Are you sur : $inputline ? (y/n) ***"
94
         echo "*** Are you sure: $inputline ? (y/n) ***"
95 95
      done
96 96

  
97 97
      if [ "$inputConfirm" = "y" ]
98 98
      then
99
         echo "*** Check if zvol path exists ...***"
99
         echo "*** Check if zvol path exists... ***"
100 100
         ls -l $PATH_ZVOL
101 101
         if [ $? -eq 0 ]
102 102
         then
103
            echo "*** The path is valid ..."
103
            echo "*** The path is valid... "
104 104
            break
105 105
         else
106
            echo "*** Path doesn't exist ...."
106
            echo "*** Path doesn't exist... "
107 107
         fi
108 108
      fi
109 109
      if [ "$inputConfirm" != "y" ]
110 110
      then
111
         echo "*** Path of zfs device (zvol) to export : ***"
111
         echo "*** Path of zfs device (zvol) to export: ***"
112 112
      fi
113 113
   done
114 114
  
115 115
   echo "" 
116
   echo "*** Step II : initialization of the PATH and iscsi volume LUN ***"
116
   echo "*** Step II: initialization of the PATH and iscsi volume LUN ***"
117 117
   if [ $? -eq 0 ]
118 118
   then
119
     echo "*** ISCSI export Type (fileio/blockio) : ***"
119
     echo "*** ISCSI export Type (fileio/blockio): ***"
120 120
     
121 121
     while read inputline
122 122
     do
123 123
        TYPE_EXPORT=$inputline
124
        echo "*** Are you sur : $inputline ? (y/n) ***"
124
        echo "*** Are you sure: $inputline ? (y/n) ***"
125 125

  
126 126
        while read inputConfirm
127 127
        do
......
129 129
           then
130 130
              break
131 131
           fi
132
           echo "*** Are you sur : $inputline ? (y/n) ***"
132
           echo "*** Are you sure: $inputline ? (y/n) ***"
133 133
        done
134 134

  
135 135
        if [ "$inputConfirm" = "y" ]
136 136
        then
137
           echo "*** Check if the parameter is valid ...***"
137
           echo "*** Check if the parameter is valid... ***"
138 138
           if [ "$TYPE_EXPORT" = "fileio" ]||[ "$TYPE_EXPORT" = "blockio" ]
139 139
           then
140 140
              break
141 141
           else
142
              echo "*** ISCSI export Type (fileio/blockio) : ***"
142
              echo "*** ISCSI export Type (fileio/blockio): ***"
143 143
           fi
144 144
        fi
145 145
        if [ "$inputConfirm" != "y" ]
146 146
        then
147
           echo "*** ISCSI export Type (fileio/blockio) : ***"
147
           echo "*** ISCSI export Type (fileio/blockio): ***"
148 148
        fi
149 149
     done
150 150

  
151 151
   echo "" 
152
   echo "*** Step II.B : initialization iscsi IOMode ***"
153
     echo "*** ISCSI IOMode (ro/wt) : ***"
152
   echo "*** Step II.B: initialization iscsi IOMode ***"
153
     echo "*** ISCSI IOMode (ro/wt): ***"
154 154
     
155 155
     while read inputline
156 156
     do
157 157
        iomode=$inputline
158
        echo "*** Are you sur : $inputline ? (y/n) ***"
158
        echo "*** Are you sure: $inputline ? (y/n) ***"
159 159

  
160 160
        while read inputConfirm
161 161
        do
......
163 163
           then
164 164
              break
165 165
           fi
166
           echo "*** Are you sur : $inputline ? (y/n) ***"
166
           echo "*** Are you sure: $inputline ? (y/n) ***"
167 167
        done
168 168

  
169 169
        if [ "$inputConfirm" = "y" ]
170 170
        then
171
           echo "*** Check if the parameter is valid ...***"
171
           echo "*** Check if the parameter is valid... ***"
172 172
           if [ "$iomode" = "ro" ]||[ "$iomode" = "wt" ]
173 173
           then
174 174
              break
175 175
           else
176
              echo "*** ISCSI IOMode (ro/wt) : ***"
176
              echo "*** ISCSI IOMode (ro/wt): ***"
177 177
           fi
178 178
        fi
179 179
        if [ "$inputConfirm" != "y" ]
180 180
        then
181
           echo "*** ISCSI IOMode (ro/wt) : ***"
181
           echo "*** ISCSI IOMode (ro/wt): ***"
182 182
        fi
183 183
     done
184 184
     
185 185
     echo ""
186
     echo "*** Step III : initialization of export Type and iscsi IOMode ***"
186
     echo "*** Step III: initialization of export Type and iscsi IOMode ***"
187 187
     ietadm --op new --tid=$CHECK_TID --lun=0 --params Path=$PATH_ZVOL,Type=$TYPE_EXPORT,IOMode=$iomode
188 188
     if [ $? -eq 0 ]
189 189
     then
190 190

  
191 191
       echo ""
192
       echo "*** Step IV : Login and password ***"
193
       echo "*** Do you enable a restriction login/password : (y/n)"
192
       echo "*** Step IV: Login and password ***"
193
       echo "*** Do you enable a restriction login/password: (y/n)"
194 194
       while read inputline
195 195
       do
196 196
           if [ "$inputline" != "y" ] && [ "$inputline" != "n" ]
197 197
           then
198
              echo "*** Do you enable a restriction login/password : (y/n)"
198
              echo "*** Do you enable a restriction login/password: (y/n)"
199 199
           else
200 200
             if [ "$inputline" = "y" ]
201 201
             then
202
                 echo "*** Give a login :"
202
                 echo "*** Give a login:"
203 203
                 while read inputlogin
204 204
                 do
205 205
                   if [ "$inputlogin" != "" ]
206 206
                   then
207 207
                      break
208 208
                   else
209
                      echo "*** Give a login :"
209
                      echo "*** Give a login:"
210 210
                   fi
211 211
                  done
212 212

  
213
                  echo "*** Give a password :"
213
                  echo "*** Give a password:"
214 214
                  while read inputpass
215 215
                  do
216 216
                     if [ "$inputpass" = "" ]
217 217
                     then
218
                        echo "*** Give a password :"
218
                        echo "*** Give a password:"
219 219
                     else
220 220
                        break
221 221
                     fi
......
226 226
                    echo "*** Authentication Configuration [OK]"
227 227
       
228 228
                    echo ""
229
                    echo "*** Step IV : Writting in file ietd.conf ***"
230
                    echo "*** Backup of /etc/iet/ietd.conf ..."
229
                    echo "*** Step IV: Writting in file ietd.conf ***"
230
                    echo "*** Backup of /etc/iet/ietd.conf... "
231 231

  
232 232
                    cp /etc/iet/ietd.conf /etc/iet/ietd.conf.$TODAY
233 233

  
......
248 248
                 break
249 249
             else
250 250
                    echo ""
251
                    echo "*** Step IV : Writting in file ietd.conf ***"
252
                    echo "*** Backup of /etc/iet/ietd.conf ..."
251
                    echo "*** Step IV: Writting in file ietd.conf ***"
252
                    echo "*** Backup of /etc/iet/ietd.conf... "
253 253

  
254 254
                    cp /etc/iet/ietd.conf /etc/iet/ietd.conf.$TODAY
255 255

  
......
270 270
       done
271 271

  
272 272
     else
273
       echo "*** Problem during the step III (initialization of iscsi export Type). Canceled Process ...***"
273
       echo "*** Problem during step III (initialization of iscsi export Type). Canceled process... ***"
274 274
       ietadm --op delete --tid=$CHECK_TID
275 275
     fi
276 276
     
277 277
   else
278
      echo "*** Problem during the step II (initialization of PATH and  iscsi volume LUN). Canceled Process ...***"
278
      echo "*** Problem during step II (initialization of PATH and iscsi volume LUN). Canceled process... ***"
279 279
      ietadm --op delete --tid=$CHECK_TID
280 280
   fi
281 281

  
282 282
else
283
   echo "*** Problem during the step I (initialization of TID and iscsi volume name). Canceled Process ...***"
283
   echo "*** Problem during step I (initialization of TID and iscsi volume name). Canceled process... ***"
284 284
   ietadm --op delete --tid=$CHECK_TID
285 285
fi
286 286
}
287 287

  
288 288
function usage {
289 289

  
290
echo "syntax : " 1>&2
290
echo "syntax: " 1>&2
291 291
echo "add-iscsi-volume [OPTIONS]" 1>&2
292 292
echo "" 1>&2
293 293
echo "OPTIONS :" 1>&2
294 294
echo "-h : display this message" 1>&2
295 295
echo "-d : path device to iscsi export" 1>&2
296
echo "-T : export type. Only fileio or blockio" 1>&2
297
echo "-L : lun. Only numeric value." 1>&2
296
echo "-T : export type (Only fileio or blockio)" 1>&2
297
echo "-L : lun (Only numeric values)" 1>&2
298 298
echo "-o : IO Mode : ro (Read Only) or wt (Read Write)" 1>&2
299 299
echo "-l : login if you want a CHAP authentication" 1>&2
300 300
echo "-p : password if you want a CHAP authentication" 1>&2
301
echo "-R : Specify a list of restricted IP. Separate such IP by a ;" 1>&2
302
echo "-t : name of zfs volume. This field is used to generate alias name iscsi" 1>&2
303
echo "-i : interactive mode. This option is not compatible with others" 1>&2
301
echo "-R : Specify a list of restricted IP (Separated by a ;)" 1>&2
302
echo "-t : name of zfs volume (This field is used to generate alias name iscsi)" 1>&2
303
echo "-i : interactive mode (This option is not compatible with others)" 1>&2
304 304

  
305 305
}
306 306

  
bin/create-volume (revision 40)
8 8
echo " -p : pool name" 1>&2
9 9
echo " -b : block size. Permit value : 32K, 64K, 128K (recommanded)" 1>&2
10 10
echo " -s : volume size. Permit unit : T, G, M"  1>&2
11
# FIXME: c'est pas clair ta formulation
11 12
echo " -o : options zfs volume. Read the man zfs for more details" 1>&2
12

  
13 13
}
14 14

  
15 15

  
......
27 27

  
28 28
function interactive {
29 29
zfs list
30
echo "*** Choose a pool for the ZFS volume to create : ***"
30
# FIXME: c'est pas clair ta formulation
31
echo "*** Choose a pool for the ZFS volume to create: ***"
31 32

  
32 33
while read inputline
33 34
do
......
36 37
      zfs list |grep -i $inputline
37 38
      if [ $? -eq 1 ]
38 39
      then
39
         echo "*** Choose a pool for the ZFS volume to create : ***"
40
# FIXME: c'est pas clair ta formulation
41
         echo "*** Choose a pool for the ZFS volume to create: ***"
40 42
      else
41 43

  
42
         echo "*** Are you sur : $inputline ? (y/n) ***"
44
         echo "*** Are you sure: $inputline ? (y/n) ***"
43 45
         while read inputConfirm
44 46
         do
45 47
            if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
46 48
            then
47 49
              break
48 50
            fi
49
            echo "*** Are you sur : $inputline ? (y/n) ***"
51
            echo "*** Are you sure: $inputline ? (y/n) ***"
50 52
          done
51 53

  
52 54
          if [ "$inputConfirm" = "y" ]
53 55
          then
54 56
             NAME_POOL=$inputline
55
             echo "volume name : "
57
             echo "volume name: "
56 58
             while read inputVolume
57 59
             do
58 60
                if [ "$inputVolume" != "" ]
......
73 75
                   fi
74 76
                   if [ $VOL_OK -eq 1 ]
75 77
                   then
76
                      echo "volume name : "
78
                      echo "volume name: "
77 79
                   else
78 80
                      NAME_VOL=$inputVolume
79
                      echo "volume size (Unit in T|G|M) : "
81
                      echo "volume size (Unit in T|G|M): "
80 82
                      while read inputSize
81 83
                      do
82 84
                         if [ "$inputSize" != "" ]
......
91 93
                              echo "/!\\ ZFS volume creation [ERROR] /!\\"
92 94
                           fi
93 95
                        else
94
                           echo "volume size (Unit in T|G|M) : "   
96
                           echo "volume size (Unit in T|G|M): "   
95 97
                        fi
96 98
                      done
97 99
                      break
98 100
                    fi
99 101
                else
100
                  echo "volume name : "
102
                  echo "volume name: "
101 103
                fi
102 104
             done
103 105
             break
......
105 107
          break
106 108
      fi
107 109
   else
108
      echo "*** Choose a pool for the ZFS volume to create : ***"
110
# FIXME: c'est pas clair ta formulation
111
      echo "*** Choose a pool for the ZFS volume to create: ***"
109 112
   fi
110 113
done
111 114
}
bin/del-volume (revision 40)
1 1
#!/bin/bash
2 2
# $Id$
3 3

  
4
# TODO: fix typos
5

  
4 6
GETINFO_ISCSI="/sbin/get-conf-iscsi-volume"
5 7
DEL_ISCSI="/sbin/del-iscsi-volume"
6 8

  
bin/check-coherence-zvol-dev (revision 40)
15 15
      SIZE_ZVOL=$(zfs get volsize $line | grep $line |awk '{ print $3}')
16 16
      if [ "$SIZE_ZVOL" != "-" ]
17 17
      then
18
         echo "*** zvol $line. Taille : $SIZE_ZVOL"
18
         echo "*** zvol $line. Size: $SIZE_ZVOL"
19 19
         if [ -e /dev/zvol/$line ]
20 20
         then
21 21
            echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
22 22
         else
23 23
            echo "Check Coherence ZVOL/DEVICE for $line : [ERROR]"
24
            echo "Try to resolv the problem ..."
24
            echo "Trying to resolv the problem... "
25 25
            zfs rename $line $line-rn
26 26
            zfs rename $line-rn $line 
27 27
            if [ -e /dev/zvol/$line ]
......
51 51
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [OK]"
52 52
         else
53 53
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [ERROR]"
54
            echo "Try to resolv the problem ..."
54
            echo "Trying to resolv the problem... "
55 55
            zfs rename $line $line-rn
56 56
            zfs rename $line-rn $line 
57 57
            if [ -e /dev/zvol/$line ]
bin/get-conf-replica (revision 40)
3 3

  
4 4
function usage {
5 5
echo "Syntax : $0 zfs_filesystem/volume_name" 1>&2
6
echo "Return the parameters replication for a zfs filesystem/volume" 1>&2
6
echo "Return replication parameters for a given zfs filesystem/volume" 1>&2
7 7
}
8 8

  
9 9
DIR_CRON="/etc/cron.d/"
bin/disable-replica (revision 40)
5 5
DIR_CONF_REPLICA="/opt/gZFS/replicas/"
6 6
BIN_ZFS_REPLICA="/sbin/zfs-replica"
7 7

  
8
# TODO: traduire les msg
8 9

  
9

  
10

  
11

  
12

  
13 10
function usage {
14 11
  echo "Usage :" 1>&2
15 12
  echo "disable-replica [OPTIONS]" 1>&2
bin/del-iscsi-volume (revision 40)
34 34
  fi
35 35
  if [ $TID_ISACTIVE -eq 0 ]
36 36
  then
37
     echo "iscsi volume in use, please disconnect all clients " 1>&2
37
     echo "iscsi volume in use, please disconnect all clients first " 1>&2
38 38
     exit 1
39 39
  fi
40 40
  TID_LISTED=$(echo $line |awk '(/tid:/) { print $1 }')
......
52 52
ietadm --op delete --tid=$TID2DEL
53 53
if [ $? -eq 0 ]
54 54
then
55
   echo "*** La suppression via la commande ietadm s'est termine correctement"
55
#   echo "*** La suppression via la commande ietadm s'est termine correctement"
56
   echo "*** Removal, via ietadm command, ended correctly "
56 57
   echo ""
57
   echo "*** Vérification et suppression du volume dans le fichier /etc/iet/ietd.conf ..."
58
#   echo "*** Vérification et suppression du volume dans le fichier /etc/iet/ietd.conf ..."
59
   echo "*** Checking and removal of volume's entry in /etc/iet/ietd.conf... "
58 60

  
59 61
   COPY_LINE=0
60 62
   >/tmp/.buffer_ietd.conf
......
76 78
      fi
77 79

  
78 80
    done < "/etc/iet/ietd.conf"
79
    echo "*** Sauvegarde du fichier /etc/iet/ietd.conf ..."
81
#    echo "*** Sauvegarde du fichier /etc/iet/ietd.conf ..."
82
    echo "*** Backup of file /etc/iet/ietd.conf... "
80 83
    TODAY=$(date +%Y%m%d%H%M%S)
81 84
    cp /etc/iet/ietd.conf /etc/iet/ietd.conf.$TODAY
82 85
    cp /tmp/.buffer_ietd.conf /etc/iet/ietd.conf
83 86

  
84 87

  
85 88
   echo ""
86
   echo "*** Vérification /proc/net/iet/volume :"
89
#   echo "*** Vérification /proc/net/iet/volume :"
90
   echo "*** Checking /proc/net/iet/volumes: "
87 91
   cat /proc/net/iet/volume
88 92

  
89 93
   echo ""
90
   echo "*** Verification repertoire /etc/iet :"
94
#   echo "*** Verification repertoire /etc/iet :"
95
   echo "*** Checking /etc/iet directory: "
91 96
   ls -ltr /etc/iet
92 97

  
93 98
   echo ""
94
   echo "*** Operation de suppression [OK] ..."
99
#   echo "*** Operation de suppression [OK] ..."
100
   echo "*** Removal operation [OK] "
95 101
else
96 102

  
97
   echo "*** Un probleme est survenu lors de la tentive de suppresion du volume iscsi TID:$TID2DEL"
98
   echo "*** Veuillez vérifier que le volume n'est pas en cours d'uilisation (cat /proc/net/iet/session) sinon contacter l'admin en charge de ce serv ce"
103
#   echo "*** Un probleme est survenu lors de la tentative de suppression du volume iscsi TID:$TID2DEL"
104
#   echo "*** Veuillez vérifier que le volume n'est pas en cours d'utilisation (cat /proc/net/iet/session) sinon contacter l'admin en charge de ce service"
105
   echo "*** A problem occurred while trying to delete iscsi volume TID:$TID2DEL"
106
   echo "*** Please verify that this volume is not in use (cat /proc/net/iet/session) otherwise contact the BOFH in charge"
99 107
fi
100 108

  
101 109

  
......
104 112

  
105 113
function interactive {
106 114

  
107
echo "*** Choix du volume ISCSI a supprimer ***"
115
#echo "*** Choix du volume ISCSI a supprimer ***"
116
echo "*** ISCSI volume to delete: ***"
108 117
cat /proc/net/iet/session
109 118

  
110
echo "*** Saisir le TID du volume iscsi a supprimer : ***" 
119
#echo "*** Saisir le TID du volume iscsi a supprimer : ***" 
120
echo "*** Please enter TID from iscsi volume to delete: ***"
111 121
while read inputline
112 122
do
113 123
   TID2DEL=$inputline 
114
   echo "*** Etes-vous sur du nom : $inputline ? (y/n) ***"
124
#   echo "*** Etes-vous sur du nom : $inputline ? (y/n) ***"
125
   echo "*** Are you sure: $inputline ? (y/n) ***"
115 126
   
116 127
   while read inputConfirm
117 128
   do
......
119 130
      then
120 131
         break
121 132
      fi
122
      echo "*** Etes-vous certain de vouloir supprimer le TID : $inputline ? (y/n) ***" 
133
#      echo "*** Etes-vous certain de vouloir supprimer le TID : $inputline ? (y/n) ***" 
134
      echo "*** Are you sure to delete this TID: $inputline ? (y/n) ***"
123 135
   done
124 136

  
125 137
   if [ "$inputConfirm" = "y" ]
......
128 140
   fi
129 141
   if [ "$inputConfirm" != "y" ]
130 142
   then
131
      echo "*** Saisir le TID du volume iscsi a supprimer : ***" 
143
#      echo "*** Saisir le TID du volume iscsi a supprimer : ***" 
144
      echo "*** Please enter TID from iscsi volume to delete: ***"
132 145
   fi
133 146
done
134 147

  
135
echo "**** Recuperation de la propriété Target (identifiant utilise dans le fichier /etc/iet/ietd.conf) ..."
148
#echo "**** Recuperation de la propriété Target (identifiant utilise dans le fichier /etc/iet/ietd.conf) ..."
149
echo "**** Retrieval of Target property (id used in /etc/iet/ietd.conf)... "
136 150
TARGET=$(cat /proc/net/iet/session |grep -i tid:$TID2DEL |cut -d ":" -f3)
137 151

  
138
echo "Nom de la target a rechercher dans /etc/iet/ietd.conf : $TARGET"
152
#echo "Nom de la target a rechercher dans /etc/iet/ietd.conf : $TARGET"
153
echo "Target name to search in /etc/iet/ietd.conf: $TARGET"
139 154

  
140 155
echo ""
141
echo "**** Check si le volume est en cours d'utilisation ..."
156
#echo "**** Check si le volume est en cours d'utilisation ..."
157
echo "**** Checking if volume is in use... "
142 158

  
143 159

  
144 160
TID_FIND=1
......
156 172
  fi
157 173
  if [ $TID_ISACTIVE -eq 0 ]
158 174
  then
159
     echo "Le volume isci est en cours d'utilisation, suppression impossible"
175
#     echo "Le volume isci est en cours d'utilisation, suppression impossible"
176
     echo "ISCSI Volume is in use, cannot delete."
160 177
     exit 1
161 178
  fi
162 179
  TID_LISTED=$(echo $line |awk '(/tid:/) { print $1 }')
......
171 188
 fi
172 189
done
173 190

  
174
echo "*** Debut de la procédure de suppression ..."
191
#echo "*** Debut de la procédure de suppression ..."
192
echo "*** Beginning delete procedure... "
175 193
echo ""
176 194

  
177 195
ietadm --op delete --tid=$TID2DEL
178 196
if [ $? -eq 0 ]
179 197
then
180
   echo "*** La suppression via la commande ietadm s'est termine correctement"
198
#   echo "*** La suppression via la commande ietadm s'est termine correctement"
199
   echo "*** Removal, via ietadm command, ended correctly "
181 200
   echo ""
182
   echo "*** Vérification et suppression du volume dans le fichier /etc/iet/ietd.conf ..."
201
#   echo "*** Vérification et suppression du volume dans le fichier /etc/iet/ietd.conf ..."
202
   echo "*** Checking and removal of volume's entry in /etc/iet/ietd.conf... "
183 203

  
184 204
   COPY_LINE=0
185 205
   >/tmp/.buffer_ietd.conf
......
201 221
      fi 
202 222

  
203 223
    done < "/etc/iet/ietd.conf"
204
    echo "*** Sauvegarde du fichier /etc/iet/ietd.conf ..."
224
#    echo "*** Sauvegarde du fichier /etc/iet/ietd.conf ..."
225
    echo "*** Backup of file /etc/iet/ietd.conf... "
205 226
    TODAY=$(date +%Y%m%d%H%M%S)
206 227
    cp /etc/iet/ietd.conf /etc/iet/ietd.conf.$TODAY
207 228
    cp /tmp/.buffer_ietd.conf /etc/iet/ietd.conf
208 229
       
209 230

  
210 231
   echo ""
211
   echo "*** Vérification /proc/net/iet/volume :"
232
#   echo "*** Vérification /proc/net/iet/volume :"
233
   echo "*** Checking /proc/net/iet/volumes: "
212 234
   cat /proc/net/iet/volume
213 235

  
214 236
   echo ""
215
   echo "*** Verification repertoire /etc/iet :"
237
#   echo "*** Verification repertoire /etc/iet :"
238
   echo "*** Checking /etc/iet directory: "
216 239
   ls -ltr /etc/iet
217 240

  
218 241
   echo ""
219
   echo "*** Operation de suppression [OK] ..."
242
#   echo "*** Operation de suppression [OK] ..."
243
   echo "*** Removal operation [OK] "
220 244
else
221 245

  
222
   echo "*** Un probleme est survenu lors de la tentive de suppresion du volume iscsi TID:$TID2DEL"
223
   echo "*** Veuillez vérifier que le volume n'est pas en cours d'uilisation (cat /proc/net/iet/session) sinon contacter l'admin en charge de ce service"
246
#   echo "*** Un probleme est survenu lors de la tentive de suppresion du volume iscsi TID:$TID2DEL"
247
#   echo "*** Veuillez vérifier que le volume n'est pas en cours d'uilisation (cat /proc/net/iet/session) sinon contacter l'admin en charge de ce service"
248
   echo "*** A problem occurred while trying to delete iscsi volume TID:$TID2DEL"
249
   echo "*** Please verify that this volume is not in use (cat /proc/net/iet/session) otherwise contact the BOFH in charge"
224 250
fi
225
echo "*** FIN ***"
251
echo "*** END ***"
226 252
}
227 253

  
228 254
while getopts "iT:h" OPTION
bin/enable-snapshot (revision 40)
5 5
DIR_CONF_SNAPSHOT="/opt/gZFS/snapshots/"
6 6
BIN_ZFS_SNAPSHOT="/sbin/zfs-snapshot"
7 7

  
8
# TODO: traduire les msg
8 9

  
9 10
function usage {
10 11
  echo "Usage : $0 options" 1>&2
11 12
  echo "OPTIONS :" 1>&2
12
  echo "  -i : interactive mode, this option is not compatible with others options" 1>&2
13
  echo "  -i : interactive mode, this option is not compatible with other options" 1>&2
13 14
  echo "  -m : minute field for cron snapshot" 1>&2
14
  echo "  -H : hour field for cron snapshots" 1>&2
15
  echo "  -D : Day of Month field for cron snapshots" 1>&2
16
  echo "  -M : Month field for cron snapshots" 1>&2
17
  echo "  -d : Day of week for cron snapshots" 1>&2
18
  echo "  -N : Name of ZFS Volume/FileSystem to snapshots" 1>&2
19
  echo "  -t : Type ZFS Volume or FileSystem. Possible value : volume or filesystem" 1>&2
20
  echo "  -k : Number of snapsot to keep" 1>&2
15
  echo "  -H : hour field for cron snapshot" 1>&2
16
  echo "  -D : Day of Month field for cron snapshot" 1>&2
17
  echo "  -M : Month field for cron snapshot" 1>&2
18
  echo "  -d : Day of week for cron snapshot" 1>&2
19
  echo "  -N : Name of ZFS Volume/FileSystem to snapshot" 1>&2
20
  echo "  -t : Type (Possible values: volume or filesystem)" 1>&2
21
  echo "  -k : Number of snapshot to keep" 1>&2
21 22
}
22 23

  
23 24
function checkField4Cron {
bin/create-filesystem (revision 40)
6 6
echo "$0 [options]" 1>&2
7 7
echo " -n : filesystem name" 1>&2
8 8
echo " -p : pool name" 1>&2
9
# FIXME: c'est pas clair ta formulation :
9 10
echo " -o : options zfs filesystem. Read the man zfs for more details" 1>&2
10

  
11 11
}
12 12

  
13 13
function nointeractive {
......
19 19

  
20 20
function interactive {
21 21
zfs list
22
echo "*** Choose a pool for the filesystem to create : ***"
22
# FIXME: c'est pas clair ta formulation
23
echo "*** Choose a pool for the filesystem to create: ***"
23 24

  
24 25
while read inputline
25 26
do
......
28 29
      zfs list |grep -i $inputline
29 30
      if [ $? -eq 1 ]
30 31
      then
31
         echo "*** Choose a pool for the filesystem to create : ***"
32
# FIXME: c'est pas clair ta formulation
33
         echo "*** Choose a pool for the filesystem to create: ***"
32 34
      else
33 35

  
34
         echo "*** Are you sur : $inputline ? (y/n) ***"
36
         echo "*** Are you sure: $inputline ? (y/n) ***"
35 37
         while read inputConfirm
36 38
         do
37 39
            if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
38 40
            then
39 41
              break
40 42
            fi
41
            echo "*** Are you sur : $inputline ? (y/n) ***"
43
            echo "*** Are you sure: $inputline ? (y/n) ***"
42 44
         done
43 45

  
44 46
          if [ "$inputConfirm" = "y" ]
45 47
          then
46 48
             NAME_POOL=$inputline
47
             echo "filesystem name : "
49
             echo "filesystem name: "
48 50
             while read inputFS
49 51
             do
50 52
                if [ "$inputFS" != "" ]
......
59 61
                   fi
60 62
                   if [ $FS_OK -eq 1 ]
61 63
                   then
62
                      echo "filesystem name : "
64
                      echo "filesystem name: "
63 65
                   else
64 66
                      NAME_FS=$inputFS
65 67
                           zfs create $NAME_POOL/$inputFS
......
73 75
                           fi
74 76
                    fi
75 77
                else
76
                  echo "filesystem name : "
78
                  echo "filesystem name: "
77 79
                fi
78 80
             done
79 81
             break
......
81 83
          break
82 84
      fi
83 85
   else
84
      echo "*** Choose a pool for the filesystem to create : ***"
86
# FIXME: c'est pas clair ta formulation
87
      echo "*** Choose a pool for the filesystem to create: ***"
85 88
   fi
86 89
done
87 90
}
bin/del-filesystem (revision 40)
36 36
function interactive {
37 37

  
38 38
zfs list
39
echo "*** Enter the ZFS FileSystem Name : ***" 
39
echo "*** Enter ZFS FileSystem Name: ***" 
40 40
while read inputline
41 41
do
42 42
   NAME_VOL=$inputline 
43
   echo "*** Do you want really remove the ZFS FileSystem : $inputline ? (y/n) ***"
43
   echo "*** Do you really want to remove this ZFS FileSystem: $inputline ? (y/n) ***"
44 44
   while read inputConfirm
45 45
   do
46 46
      if [ "$inputConfirm" = "y" ]||[ "$inputConfirm" = "n" ]
47 47
      then
48 48
         break
49 49
      fi
50
      echo "*** Do you want really remove the ZFS FileSystem : $inputline ? (y/n) ***"
50
      echo "*** Do you really want to remove this ZFS FileSystem: $inputline ? (y/n) ***"
51 51
   done
52 52

  
53 53
   
......
57 57
   fi
58 58
   if [ "$inputConfirm" != "y" ]
59 59
   then
60
      echo "*** Enter the ZFS Volume FileSystem : ***" 
60
      echo "*** Enter ZFS Volume FileSystem: ***" 
61 61
   fi
62 62
done
63 63
nointeractive
COPYING.CeCILLv2 (revision 40)
1
CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL
2

  
3

  
4
    Avertissement
5

  
6
Ce contrat est une licence de logiciel libre issue d'une concertation
7
entre ses auteurs afin que le respect de deux grands principes préside à
8
sa rédaction:
9

  
10
    * d'une part, le respect des principes de diffusion des logiciels
11
      libres: accès au code source, droits étendus conférés aux
12
      utilisateurs,
13
    * d'autre part, la désignation d'un droit applicable, le droit
14
      français, auquel elle est conforme, tant au regard du droit de la
15
      responsabilité civile que du droit de la propriété intellectuelle
16
      et de la protection qu'il offre aux auteurs et titulaires des
17
      droits patrimoniaux sur un logiciel.
18

  
19
Les auteurs de la licence CeCILL (pour Ce[a] C[nrs] I[nria] L[ogiciel]
20
L[ibre]) sont:
21

  
22
Commissariat à l'Energie Atomique - CEA, établissement public de
23
recherche à caractère scientifique, technique et industriel, dont le
24
siège est situé 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
25

  
26
Centre National de la Recherche Scientifique - CNRS, établissement
27
public à caractère scientifique et technologique, dont le siège est
28
situé 3 rue Michel-Ange, 75794 Paris cedex 16.
29

  
30
Institut National de Recherche en Informatique et en Automatique -
31
INRIA, établissement public à caractère scientifique et technologique,
32
dont le siège est situé Domaine de Voluceau, Rocquencourt, BP 105, 78153
33
Le Chesnay cedex.
34

  
35

  
36
    Préambule
37

  
38
Ce contrat est une licence de logiciel libre dont l'objectif est de
39
conférer aux utilisateurs la liberté de modification et de
40
redistribution du logiciel régi par cette licence dans le cadre d'un
41
modèle de diffusion en logiciel libre.
42

  
43
L'exercice de ces libertés est assorti de certains devoirs à la charge
44
des utilisateurs afin de préserver ce statut au cours des
45
redistributions ultérieures.
46

  
47
L'accessibilité au code source et les droits de copie, de modification
48
et de redistribution qui en découlent ont pour contrepartie de n'offrir
49
aux utilisateurs qu'une garantie limitée et de ne faire peser sur
50
l'auteur du logiciel, le titulaire des droits patrimoniaux et les
51
concédants successifs qu'une responsabilité restreinte.
52

  
53
A cet égard l'attention de l'utilisateur est attirée sur les risques
54
associés au chargement, à l'utilisation, à la modification et/ou au
55
développement et à la reproduction du logiciel par l'utilisateur étant
56
donné sa spécificité de logiciel libre, qui peut le rendre complexe à
57
manipuler et qui le réserve donc à des développeurs ou des
58
professionnels avertis possédant des connaissances informatiques
59
approfondies. Les utilisateurs sont donc invités à charger et tester
60
l'adéquation du logiciel à leurs besoins dans des conditions permettant
61
d'assurer la sécurité de leurs systèmes et/ou de leurs données et, plus
62
généralement, à l'utiliser et l'exploiter dans les mêmes conditions de
63
sécurité. Ce contrat peut être reproduit et diffusé librement, sous
64
réserve de le conserver en l'état, sans ajout ni suppression de clauses.
65

  
66
Ce contrat est susceptible de s'appliquer à tout logiciel dont le
67
titulaire des droits patrimoniaux décide de soumettre l'exploitation aux
68
dispositions qu'il contient.
69

  
70

  
71
    Article 1 - DEFINITIONS
72

  
73
Dans ce contrat, les termes suivants, lorsqu'ils seront écrits avec une
74
lettre capitale, auront la signification suivante:
75

  
76
Contrat: désigne le présent contrat de licence, ses éventuelles versions
77
postérieures et annexes.
78

  
79
Logiciel: désigne le logiciel sous sa forme de Code Objet et/ou de Code
80
Source et le cas échéant sa documentation, dans leur état au moment de
81
l'acceptation du Contrat par le Licencié.
82

  
83
Logiciel Initial: désigne le Logiciel sous sa forme de Code Source et
84
éventuellement de Code Objet et le cas échéant sa documentation, dans
85
leur état au moment de leur première diffusion sous les termes du Contrat.
86

  
87
Logiciel Modifié: désigne le Logiciel modifié par au moins une
88
Contribution.
89

  
90
Code Source: désigne l'ensemble des instructions et des lignes de
91
programme du Logiciel et auquel l'accès est nécessaire en vue de
92
modifier le Logiciel.
93

  
94
Code Objet: désigne les fichiers binaires issus de la compilation du
95
Code Source.
96

  
97
Titulaire: désigne le ou les détenteurs des droits patrimoniaux d'auteur
98
sur le Logiciel Initial.
99

  
100
Licencié: désigne le ou les utilisateurs du Logiciel ayant accepté le
101
Contrat.
102

  
103
Contributeur: désigne le Licencié auteur d'au moins une Contribution.
104

  
105
Concédant: désigne le Titulaire ou toute personne physique ou morale
106
distribuant le Logiciel sous le Contrat.
107

  
108
Contribution: désigne l'ensemble des modifications, corrections,
109
traductions, adaptations et/ou nouvelles fonctionnalités intégrées dans
110
le Logiciel par tout Contributeur, ainsi que tout Module Interne.
111

  
112
Module: désigne un ensemble de fichiers sources y compris leur
113
documentation qui permet de réaliser des fonctionnalités ou services
114
supplémentaires à ceux fournis par le Logiciel.
115

  
116
Module Externe: désigne tout Module, non dérivé du Logiciel, tel que ce
117
Module et le Logiciel s'exécutent dans des espaces d'adressage
118
différents, l'un appelant l'autre au moment de leur exécution.
119

  
120
Module Interne: désigne tout Module lié au Logiciel de telle sorte
121
qu'ils s'exécutent dans le même espace d'adressage.
122

  
123
GNU GPL: désigne la GNU General Public License dans sa version 2 ou
124
toute version ultérieure, telle que publiée par Free Software Foundation
125
Inc.
126

  
127
Parties: désigne collectivement le Licencié et le Concédant.
128

  
129
Ces termes s'entendent au singulier comme au pluriel.
130

  
131

  
132
    Article 2 - OBJET
133

  
134
Le Contrat a pour objet la concession par le Concédant au Licencié d'une
135
licence non exclusive, cessible et mondiale du Logiciel telle que
136
définie ci-après à l'article 5 pour toute la durée de protection des droits
137
portant sur ce Logiciel.
138

  
139

  
140
    Article 3 - ACCEPTATION
141

  
142
3.1 L'acceptation par le Licencié des termes du Contrat est réputée
143
acquise du fait du premier des faits suivants:
144

  
145
    * (i) le chargement du Logiciel par tout moyen notamment par
146
      téléchargement à partir d'un serveur distant ou par chargement à
147
      partir d'un support physique;
148
    * (ii) le premier exercice par le Licencié de l'un quelconque des
149
      droits concédés par le Contrat.
150

  
151
3.2 Un exemplaire du Contrat, contenant notamment un avertissement
152
relatif aux spécificités du Logiciel, à la restriction de garantie et à
153
la limitation à un usage par des utilisateurs expérimentés a été mis à
154
disposition du Licencié préalablement à son acceptation telle que
155
définie à l'article 3.1 ci dessus et le Licencié reconnaît en avoir pris
156
connaissance.
157

  
158

  
159
    Article 4 - ENTREE EN VIGUEUR ET DUREE
160

  
161

  
162
      4.1 ENTREE EN VIGUEUR
163

  
164
Le Contrat entre en vigueur à la date de son acceptation par le Licencié
165
telle que définie en 3.1.
166

  
167

  
168
      4.2 DUREE
169

  
170
Le Contrat produira ses effets pendant toute la durée légale de
171
protection des droits patrimoniaux portant sur le Logiciel.
172

  
173

  
174
    Article 5 - ETENDUE DES DROITS CONCEDES
175

  
176
Le Concédant concède au Licencié, qui accepte, les droits suivants sur
177
le Logiciel pour toutes destinations et pour la durée du Contrat dans
178
les conditions ci-après détaillées.
179

  
180
Par ailleurs, si le Concédant détient ou venait à détenir un ou
181
plusieurs brevets d'invention protégeant tout ou partie des
182
fonctionnalités du Logiciel ou de ses composants, il s'engage à ne pas
183
opposer les éventuels droits conférés par ces brevets aux Licenciés
184
successifs qui utiliseraient, exploiteraient ou modifieraient le
185
Logiciel. En cas de cession de ces brevets, le Concédant s'engage à
186
faire reprendre les obligations du présent alinéa aux cessionnaires.
187

  
188

  
189
      5.1 DROIT D'UTILISATION
190

  
191
Le Licencié est autorisé à utiliser le Logiciel, sans restriction quant
192
aux domaines d'application, étant ci-après précisé que cela comporte:
193

  
194
   1. la reproduction permanente ou provisoire du Logiciel en tout ou
195
      partie par tout moyen et sous toute forme.
196

  
197
   2. le chargement, l'affichage, l'exécution, ou le stockage du
198
      Logiciel sur tout support.
199

  
200
   3. la possibilité d'en observer, d'en étudier, ou d'en tester le
201
      fonctionnement afin de déterminer les idées et principes qui sont
202
      à la base de n'importe quel élément de ce Logiciel; et ceci,
203
      lorsque le Licencié effectue toute opération de chargement,
204
      d'affichage, d'exécution, de transmission ou de stockage du
205
      Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
206

  
207

  
208
      5.2 DROIT D'APPORTER DES CONTRIBUTIONS
209

  
210
Le droit d'apporter des Contributions comporte le droit de traduire,
211
d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
212
et le droit de reproduire le logiciel en résultant.
213

  
214
Le Licencié est autorisé à apporter toute Contribution au Logiciel sous
215
réserve de mentionner, de façon explicite, son nom en tant qu'auteur de
216
cette Contribution et la date de création de celle-ci.
217

  
218

  
219
      5.3 DROIT DE DISTRIBUTION
220

  
221
Le droit de distribution comporte notamment le droit de diffuser, de
222
transmettre et de communiquer le Logiciel au public sur tout support et
223
par tout moyen ainsi que le droit de mettre sur le marché à titre
224
onéreux ou gratuit, un ou des exemplaires du Logiciel par tout procédé.
225

  
226
Le Licencié est autorisé à distribuer des copies du Logiciel, modifié ou
227
non, à des tiers dans les conditions ci-après détaillées.
228

  
229

  
230
        5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
231

  
232
Le Licencié est autorisé à distribuer des copies conformes du Logiciel,
233
sous forme de Code Source ou de Code Objet, à condition que cette
234
distribution respecte les dispositions du Contrat dans leur totalité et
235
soit accompagnée:
236

  
237
   1. d'un exemplaire du Contrat,
238

  
239
   2. d'un avertissement relatif à la restriction de garantie et de
240
      responsabilité du Concédant telle que prévue aux articles 8
241
      et 9,
242

  
243
et que, dans le cas où seul le Code Objet du Logiciel est redistribué,
244
le Licencié permette aux futurs Licenciés d'accéder facilement au Code
245
Source complet du Logiciel en indiquant les modalités d'accès, étant
246
entendu que le coût additionnel d'acquisition du Code Source ne devra
247
pas excéder le simple coût de transfert des données.
248

  
249

  
250
        5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
251

  
252
Lorsque le Licencié apporte une Contribution au Logiciel, les conditions
253
de distribution du Logiciel Modifié en résultant sont alors soumises à
254
l'intégralité des dispositions du Contrat.
255

  
256
Le Licencié est autorisé à distribuer le Logiciel Modifié, sous forme de
257
code source ou de code objet, à condition que cette distribution
258
respecte les dispositions du Contrat dans leur totalité et soit
259
accompagnée:
260

  
261
   1. d'un exemplaire du Contrat,
262

  
263
   2. d'un avertissement relatif à la restriction de garantie et de
264
      responsabilité du Concédant telle que prévue aux articles 8
265
      et 9,
266

  
267
et que, dans le cas où seul le code objet du Logiciel Modifié est
268
redistribué, le Licencié permette aux futurs Licenciés d'accéder
269
facilement au code source complet du Logiciel Modifié en indiquant les
270
modalités d'accès, étant entendu que le coût additionnel d'acquisition
271
du code source ne devra pas excéder le simple coût de transfert des données.
272

  
273

  
274
        5.3.3 DISTRIBUTION DES MODULES EXTERNES
275

  
276
Lorsque le Licencié a développé un Module Externe les conditions du
277
Contrat ne s'appliquent pas à ce Module Externe, qui peut être distribué
278
sous un contrat de licence différent.
279

  
280

  
281
        5.3.4 COMPATIBILITE AVEC LA LICENCE GNU GPL
282

  
283
Le Licencié peut inclure un code soumis aux dispositions d'une des
284
versions de la licence GNU GPL dans le Logiciel modifié ou non et
285
distribuer l'ensemble sous les conditions de la même version de la
286
licence GNU GPL.
287

  
288
Le Licencié peut inclure le Logiciel modifié ou non dans un code soumis
289
aux dispositions d'une des versions de la licence GNU GPL et distribuer
290
l'ensemble sous les conditions de la même version de la licence GNU GPL.
291

  
292

  
293
    Article 6 - PROPRIETE INTELLECTUELLE
294

  
295

  
296
      6.1 SUR LE LOGICIEL INITIAL
297

  
298
Le Titulaire est détenteur des droits patrimoniaux sur le Logiciel
299
Initial. Toute utilisation du Logiciel Initial est soumise au respect
300
des conditions dans lesquelles le Titulaire a choisi de diffuser son
301
oeuvre et nul autre n'a la faculté de modifier les conditions de
302
diffusion de ce Logiciel Initial.
303

  
304
Le Titulaire s'engage à ce que le Logiciel Initial reste au moins régi
305
par le Contrat et ce, pour la durée visée à l'article 4.2.
306

  
307

  
308
      6.2 SUR LES CONTRIBUTIONS
309

  
310
Le Licencié qui a développé une Contribution est titulaire sur celle-ci
311
des droits de propriété intellectuelle dans les conditions définies par
312
la législation applicable.
313

  
314

  
315
      6.3 SUR LES MODULES EXTERNES
316

  
317
Le Licencié qui a développé un Module Externe est titulaire sur celui-ci
318
des droits de propriété intellectuelle dans les conditions définies par
319
la législation applicable et reste libre du choix du contrat régissant
320
sa diffusion.
321

  
322

  
323
      6.4 DISPOSITIONS COMMUNES
324

  
325
Le Licencié s'engage expressément:
326

  
327
   1. à ne pas supprimer ou modifier de quelque manière que ce soit les
328
      mentions de propriété intellectuelle apposées sur le Logiciel;
329

  
330
   2. à reproduire à l'identique lesdites mentions de propriété
331
      intellectuelle sur les copies du Logiciel modifié ou non.
332

  
333
Le Licencié s'engage à ne pas porter atteinte, directement ou
334
indirectement, aux droits de propriété intellectuelle du Titulaire et/ou
335
des Contributeurs sur le Logiciel et à prendre, le cas échéant, à
336
l'égard de son personnel toutes les mesures nécessaires pour assurer le
337
respect des dits droits de propriété intellectuelle du Titulaire et/ou
338
des Contributeurs.
339

  
340

  
341
    Article 7 - SERVICES ASSOCIES
342

  
343
7.1 Le Contrat n'oblige en aucun cas le Concédant à la réalisation de
344
prestations d'assistance technique ou de maintenance du Logiciel.
345

  
346
Cependant le Concédant reste libre de proposer ce type de services. Les
347
termes et conditions d'une telle assistance technique et/ou d'une telle
348
maintenance seront alors déterminés dans un acte séparé. Ces actes de
349
maintenance et/ou assistance technique n'engageront que la seule
350
responsabilité du Concédant qui les propose.
351

  
352
7.2 De même, tout Concédant est libre de proposer, sous sa seule
353
responsabilité, à ses licenciés une garantie, qui n'engagera que lui,
354
lors de la redistribution du Logiciel et/ou du Logiciel Modifié et ce,
355
dans les conditions qu'il souhaite. Cette garantie et les modalités
356
financières de son application feront l'objet d'un acte séparé entre le
357
Concédant et le Licencié.
358

  
359

  
360
    Article 8 - RESPONSABILITE
361

  
362
8.1 Sous réserve des dispositions de l'article 8.2, le Licencié a la 
363
faculté, sous réserve de prouver la faute du Concédant concerné, de
364
solliciter la réparation du préjudice direct qu'il subirait du fait du
365
Logiciel et dont il apportera la preuve.
366

  
367
8.2 La responsabilité du Concédant est limitée aux engagements pris en
368
application du Contrat et ne saurait être engagée en raison notamment:
369
(i) des dommages dus à l'inexécution, totale ou partielle, de ses
370
obligations par le Licencié, (ii) des dommages directs ou indirects
371
découlant de l'utilisation ou des performances du Logiciel subis par le
372
Licencié et (iii) plus généralement d'un quelconque dommage indirect. En
373
particulier, les Parties conviennent expressément que tout préjudice
374
financier ou commercial (par exemple perte de données, perte de
375
bénéfices, perte d'exploitation, perte de clientèle ou de commandes,
376
manque à gagner, trouble commercial quelconque) ou toute action dirigée
377
contre le Licencié par un tiers, constitue un dommage indirect et
378
n'ouvre pas droit à réparation par le Concédant.
379

  
380

  
381
    Article 9 - GARANTIE
382

  
383
9.1 Le Licencié reconnaît que l'état actuel des connaissances
384
scientifiques et techniques au moment de la mise en circulation du
385
Logiciel ne permet pas d'en tester et d'en vérifier toutes les
386
utilisations ni de détecter l'existence d'éventuels défauts. L'attention
387
du Licencié a été attirée sur ce point sur les risques associés au
388
chargement, à l'utilisation, la modification et/ou au développement et à
389
la reproduction du Logiciel qui sont réservés à des utilisateurs avertis.
390

  
391
Il relève de la responsabilité du Licencié de contrôler, par tous
392
moyens, l'adéquation du produit à ses besoins, son bon fonctionnement et
393
de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
394

  
395
9.2 Le Concédant déclare de bonne foi être en droit de concéder
396
l'ensemble des droits attachés au Logiciel (comprenant notamment les
397
droits visés à l'article 5).
398

  
399
9.3 Le Licencié reconnaît que le Logiciel est fourni "en l'état" par le
400
Concédant sans autre garantie, expresse ou tacite, que celle prévue à
401
l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale, 
402
son caractère sécurisé, innovant ou pertinent.
403

  
404
En particulier, le Concédant ne garantit pas que le Logiciel est exempt
405
d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
406
avec l'équipement du Licencié et sa configuration logicielle ni qu'il
407
remplira les besoins du Licencié.
408

  
409
9.4 Le Concédant ne garantit pas, de manière expresse ou tacite, que le
410
Logiciel ne porte pas atteinte à un quelconque droit de propriété
411
intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
412
autre droit de propriété. Ainsi, le Concédant exclut toute garantie au
413
profit du Licencié contre les actions en contrefaçon qui pourraient être
414
diligentées au titre de l'utilisation, de la modification, et de la
415
redistribution du Logiciel. Néanmoins, si de telles actions sont
416
exercées contre le Licencié, le Concédant lui apportera son aide
417
technique et juridique pour sa défense. Cette aide technique et
418
juridique est déterminée au cas par cas entre le Concédant concerné et
419
le Licencié dans le cadre d'un protocole d'accord. Le Concédant dégage
420
toute responsabilité quant à l'utilisation de la dénomination du
421
Logiciel par le Licencié. Aucune garantie n'est apportée quant à
422
l'existence de droits antérieurs sur le nom du Logiciel et sur
423
l'existence d'une marque.
424

  
425

  
426
    Article 10 - RESILIATION
427

  
428
10.1 En cas de manquement par le Licencié aux obligations mises à sa
429
charge par le Contrat, le Concédant pourra résilier de plein droit le
430
Contrat trente (30) jours après notification adressée au Licencié et
431
restée sans effet.
432

  
433
10.2 Le Licencié dont le Contrat est résilié n'est plus autorisé à
434
utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
435
licences qu'il aura concédées antérieurement à la résiliation du Contrat
436
resteront valides sous réserve qu'elles aient été effectuées en
437
conformité avec le Contrat.
438

  
439

  
440
    Article 11 - DISPOSITIONS DIVERSES
441

  
442

  
443
      11.1 CAUSE EXTERIEURE
444

  
445
Aucune des Parties ne sera responsable d'un retard ou d'une défaillance
446
d'exécution du Contrat qui serait dû à un cas de force majeure, un cas
447
fortuit ou une cause extérieure, telle que, notamment, le mauvais
448
fonctionnement ou les interruptions du réseau électrique ou de
449
télécommunication, la paralysie du réseau liée à une attaque
450
informatique, l'intervention des autorités gouvernementales, les
451
catastrophes naturelles, les dégâts des eaux, les tremblements de terre,
452
le feu, les explosions, les grèves et les conflits sociaux, l'état de
453
guerre...
454

  
455
11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
456
plusieurs occasions de se prévaloir d'une ou plusieurs dispositions du
457
Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
458
intéressée à s'en prévaloir ultérieurement.
459

  
460
11.3 Le Contrat annule et remplace toute convention antérieure, écrite
461
ou orale, entre les Parties sur le même objet et constitue l'accord
462
entier entre les Parties sur cet objet. Aucune addition ou modification
463
aux termes du Contrat n'aura d'effet à l'égard des Parties à moins
464
d'être faite par écrit et signée par leurs représentants dûment habilités.
465

  
466
11.4 Dans l'hypothèse où une ou plusieurs des dispositions du Contrat
467
s'avèrerait contraire à une loi ou à un texte applicable, existants ou
468
futurs, cette loi ou ce texte prévaudrait, et les Parties feraient les
469
amendements nécessaires pour se conformer à cette loi ou à ce texte.
470
Toutes les autres dispositions resteront en vigueur. De même, la
471
nullité, pour quelque raison que ce soit, d'une des dispositions du
472
Contrat ne saurait entraîner la nullité de l'ensemble du Contrat.
473

  
474

  
475
      11.5 LANGUE
476

  
477
Le Contrat est rédigé en langue française et en langue anglaise, ces
478
deux versions faisant également foi.
479

  
480

  
481
    Article 12 - NOUVELLES VERSIONS DU CONTRAT
482

  
483
12.1 Toute personne est autorisée à copier et distribuer des copies de
484
ce Contrat.
485

  
486
12.2 Afin d'en préserver la cohérence, le texte du Contrat est protégé
487
et ne peut être modifié que par les auteurs de la licence, lesquels se
488
réservent le droit de publier périodiquement des mises à jour ou de
489
nouvelles versions du Contrat, qui posséderont chacune un numéro
490
distinct. Ces versions ultérieures seront susceptibles de prendre en
491
compte de nouvelles problématiques rencontrées par les logiciels libres.
492

  
493
12.3 Tout Logiciel diffusé sous une version donnée du Contrat ne pourra
494
faire l'objet d'une diffusion ultérieure que sous la même version du
495
Contrat ou une version postérieure, sous réserve des dispositions de
496
l'article 5.3.4.
497

  
498

  
499
    Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
500

  
501
13.1 Le Contrat est régi par la loi française. Les Parties conviennent
502
de tenter de régler à l'amiable les différends ou litiges qui
503
viendraient à se produire par suite ou à l'occasion du Contrat.
504

  
505
13.2 A défaut d'accord amiable dans un délai de deux (2) mois à compter
506
de leur survenance et sauf situation relevant d'une procédure d'urgence,
507
les différends ou litiges seront portés par la Partie la plus diligente
508
devant les Tribunaux compétents de Paris.
509

  
510

  
511
Version 2.0 du 2006-09-05.
512

  

Formats disponibles : Unified diff