Code review request for following two bugs :
   10115 - AI ignores desired swap listed in ai manifest
   http://defect.opensolaris.org/bz/show_bug.cgi?id=10115

   12960 - Should be possible to define dump ZVOL size in AI manifest
   http://defect.opensolaris.org/bz/show_bug.cgi?id=12960

Webrev :
   http://cr.opensolaris.org/~mattman/bug-10115-12960/

2nd round for review, made following updates after review :
  - Changed ai manifest definition names, to make more readable :
      <ai_device_swap>  to  <ai_swap_device>
      <ai_device_dump>  to  <ai_dump_device>

  - If not enough disk space to create the specified swap/dump then
    install will fail.

Both bugs were addressed together as they affect same code paths, plan is to 
push to tip only.

10115
-----
AI manifest currently provides specification for <ai_swap_size>, however the 
contents of this element had never been implemented, it was simply ignored.
Solution, was to read <ai_swap_size> from manifest, if defined and pass through 
to liborchestrator via nvlist as new nvpair.

12960
-----
This is a request to allow the specification of dump size in AI manifest.
Solution, was to define new section in AI manifest <ai_dump_device> which can
contain new element <ai_dump_size>. Parse this element in AI and pass through 
to 
liborchestrator in the same manner as swap size.


In both cases for swap and dump size, a specification of "0" size is indicative 
that the user does not want a swap/dump zvol created.

The only instance where this is ignored is in the case of swap where a system 
memory is low e.g. < 700MB, then a default swap slice of 512 is created (see 
disk_slices.c)

Swap and dump sizes are always optional, if neither are specified, then the 
original algorithm for calculating swap and dump size is used, which is
simply RAM/2.

If swap and/or dump is specified of > 0, and there is insufficient disk space 
available to create the requested zvol(s), the install will fail.


Following testing was carried out.

Machine : X86 Vbox Client
Disk Size : 16GB (16001 MB)
Ram Size  :  1GB (1024 MB)
Recommended Software Size : ((4096 * 1.2) * 2) + 2048 = 11878 MB
Available disk space for swap/dump : (16001 MB - 11878 MB) = 4123 MB

Following scenarios were tested :

<ai_swap_size>  <ai_dump_size>    Swap Created    Dump Created
--------------- ---------------- --------------- ------------
Not Specified   Not Specified    512             511
0               Not Specified    Not Created     511
250             Not Specified    250             511
1024            Not Specified    1024            511
4000            Not Specified    Install fail, not enough disk space
Not Specified   0                512             Not Created
Not Specified   250              512             250
Not Specified   1024             512             1024
Not Specified   4000             Install fail, not enough disk space
0               0                Not Created     Not Created
250             0                250             Not Created
1500            0                1500            Not Created
4000            0                4000            Not Created
5000            0                Install fail, not enough disk space
0               250              Not Created     256
0               1500             Not Created     1500
0               4000             Not Created     4000
0               5000             Install fail, not enough disk space
1024            1024             1024            1024
3000            3000             Install fail, not enough disk space
1024            4000             Install fail, not enough disk space
4000            1024             Install fail, not enough disk space

Reply via email to