Re: [zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-07 Thread Darren Reed

On  7/02/11 08:22 AM, Mike Gerdts wrote:

...

If I was in the habit of upgrading, creating new BEs, validating
those BEs, then deleting the old ones, why wouldn't the same apply
to zones and thus result in mitigation of the problem you cite
above?
 

If the old global zone BEs and associated snapshots are deleted, there's
probably not a big problem.  However, the code paths for creating the
zone BEs during beadm create and similar operations becomes more
complicated having to deal with more scenarios.  More complicated for
the sake of flexibility that has no material benefit means that
developers spend less time working on things that are of material
benefit.

Is there a reason that

zfs create -o mountpoint=/zones rpool/zones

then creating each zonepath as /zones/zonename  is a problem?
   


From the perspective of a developer that uses a test suite that creates
zones using a shell script, the less changes required to my script the
better. I suspect that ultimately the above will become part of the system
installation configuration, but it would be nice if the zones tools kept the
difference in requirements for disk configuration internal? Thus the same
commands just work when building zones on Solaris10  11.

I suppose in my case, it is rpool/zone and mountpoint=/zone.

Darren

___
zones-discuss mailing list
zones-discuss@opensolaris.org


Re: [zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-07 Thread Mike Gerdts
On Mon 07 Feb 2011 at 07:13PM, Darren Reed wrote:
 On  7/02/11 08:22 AM, Mike Gerdts wrote:
 ...
 If I was in the habit of upgrading, creating new BEs, validating
 those BEs, then deleting the old ones, why wouldn't the same apply
 to zones and thus result in mitigation of the problem you cite
 above?
 If the old global zone BEs and associated snapshots are deleted, there's
 probably not a big problem.  However, the code paths for creating the
 zone BEs during beadm create and similar operations becomes more
 complicated having to deal with more scenarios.  More complicated for
 the sake of flexibility that has no material benefit means that
 developers spend less time working on things that are of material
 benefit.
 
 Is there a reason that
 
 zfs create -o mountpoint=/zones rpool/zones
 
 then creating each zonepath as /zones/zonename  is a problem?
 
 From the perspective of a developer that uses a test suite that creates
 zones using a shell script, the less changes required to my script the
 better. I suspect that ultimately the above will become part of the system
 installation configuration, but it would be nice if the zones tools kept the
 difference in requirements for disk configuration internal? Thus the same
 commands just work when building zones on Solaris10  11.
 
 I suppose in my case, it is rpool/zone and mountpoint=/zone.
 
 Darren

What you are asking for seems to be within the scope of 

6726123 zoneadm install should create zfs filesystems whenever possible

-- 
Mike Gerdts
Solaris Core OS / Zones
___
zones-discuss mailing list
zones-discuss@opensolaris.org


Re: [zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-05 Thread Evan Layton

On 2/4/11 10:32 PM, Darren Reed wrote:

On a test system that is using only ZFS, I'm trying to create a zone
but it keeps failing with:
netvirt-d1 ~# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.

I don't get it. This restriction never used to exist.

Why do I need to do something extra that is mandatory?

Further to this, there's a script on Oracle's website here:
http://download.oracle.com/docs/cd/E19963-01/821-1460/z.conf.start-1/index.html

that also fails to configure  create a zone that can be installed with b154 
bits.

To give an example (/tmp/ozone is the script from the above page)...

/ is rpool/ROOT/solaris
# zfs create rpool/ROOT/solaris/zone
# zfs set mountpoint=/zone rpool/ROOT/solaris/zone


The first thing I can see is that you are attempting to create a zone within the 
root pool's ROOT dataset which is not supported. If you had run zoneadm install 
directly you should have seen something like the following error message.


admin@snv-158:/# zoneadm -z zone2 install
ERROR: Installing a zone inside of the root pool's 'ROOT' dataset is 
unsupported.

The interesting thing here is that when I run this by hand I get this message 
the first time. However if I then uninstall the zone and retry to install it I 
get the error that you're seeing:


admin@snv-158:/# zoneadm -z zone2 uninstall
Are you sure you want to uninstall zone zone2 (y/[n])? y
admin@snv-158:/# zoneadm -z zone2 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.

I think this is because the zoneadm uninstall is removing the offending dataset 
and if you were to add that back in (but don't because it's not correct) you 
would see the original error.



...

# zoneadm -z exclusivetestzone1 uninstall
Are you sure you want to uninstall zone exclusivetestzone1 (y/[n])? y
# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
# cat /zone/exclusivetestzone1.config
create
set zonepath=/zone/exclusivetestzone1

As you can see from this, the parent of the zonepath is /zone and that
is a freshly created ZFS dataset. Furthermore, / which is the parent of
/zone is also a ZFS dataset. Having /zone as a directory within / and
not a dataset also results in the above error.

Between zoneadm and zonecfg, I can't see anything that instructs me on
how to resolve this. Am I missing something?


Try changing the dataset you're using to something more like rpool/zones and try 
again.


For example doing the following should work (I don't know what other steps your 
script is doing...):

# zfs create -o mountpoint=/zones rpool/zones
# zonecfg -z zone1
 create
 set zonepath=/zones/zone1
 commit
 exit
# zoneadm -z zone1 install

-evan



Darren

___
zones-discuss mailing list
zones-discuss@opensolaris.org


___
zones-discuss mailing list
zones-discuss@opensolaris.org


Re: [zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-05 Thread Mike Gerdts
On Fri, Feb 4, 2011 at 11:32 PM, Darren Reed darren.r...@oracle.com wrote:
 On a test system that is using only ZFS, I'm trying to create a zone
 but it keeps failing with:
 netvirt-d1 ~# zoneadm -z exclusivetestzone1 install
 ERROR: the zonepath must be a ZFS dataset.
 The parent directory of the zonepath must be a ZFS dataset so that the
 zonepath ZFS dataset can be created properly.

 I don't get it. This restriction never used to exist.

Zones need to be on ZFS with a particular dataset layout so that boot
environments can be managed with beadm, pkg, etc.  That is, zone boot
environments have very similar requirements that global zone boot
environments have.

 Why do I need to do something extra that is mandatory?

If the parent of the zonepath is itself a ZFS dataset, it does happen
automatically.


 Further to this, there's a script on Oracle's website here:
 http://download.oracle.com/docs/cd/E19963-01/821-1460/z.conf.start-1/index.html

 that also fails to configure  create a zone that can be installed with b154
 bits.

 To give an example (/tmp/ozone is the script from the above page)...

 / is rpool/ROOT/solaris
 # zfs create rpool/ROOT/solaris/zone
 # zfs set mountpoint=/zone rpool/ROOT/solaris/zone

That needs to be fixed.  It would cause zone boot environments to be
contained within global zone boot environments.  As new global zone
boot environments are created, you will end up with roughly 2x the
number of non-global zone BEs.  I normally use:

zfs create -o mountpoint=/zones rpool/zones

and would appreciate feedback as to whether others feel that this
should be the default behavior if the zonepath is /zones/zonename
and /zones doesn't already exist.

 As you can see from this, the parent of the zonepath is /zone and that
 is a freshly created ZFS dataset. Furthermore, / which is the parent of
 /zone is also a ZFS dataset. Having /zone as a directory within / and
 not a dataset also results in the above error.

 Between zoneadm and zonecfg, I can't see anything that instructs me on
 how to resolve this. Am I missing something?

-- 
Mike Gerdts
http://mgerdts.blogspot.com/
___
zones-discuss mailing list
zones-discuss@opensolaris.org


[zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-04 Thread Darren Reed

On a test system that is using only ZFS, I'm trying to create a zone
but it keeps failing with:
netvirt-d1 ~# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.

I don't get it. This restriction never used to exist.

Why do I need to do something extra that is mandatory?

Further to this, there's a script on Oracle's website here:
http://download.oracle.com/docs/cd/E19963-01/821-1460/z.conf.start-1/index.html

that also fails to configure  create a zone that can be installed with 
b154 bits.


To give an example (/tmp/ozone is the script from the above page)...

/ is rpool/ROOT/solaris
# zfs create rpool/ROOT/solaris/zone
# zfs set mountpoint=/zone rpool/ROOT/solaris/zone
# /tmp/ozone 1 exclusivetestzone /zone
configuring exclusivetestzone1
installing exclusivetestzone1
setting up sysid for exclusivetestzone1
/tmp/ozone[74]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[75]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[76]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[77]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[78]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[79]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]
/tmp/ozone[80]: /zone/exclusivetestzone1/root/etc/sysidcfg: cannot 
create [No such file or directory]

Fri Feb  4 14:20:11 PST 2011
booting exclusivetestzone1
zoneadm: zone 'exclusivetestzone1': must be installed before boot.
# zoneadm -z exclusivetestzone1 uninstall
Are you sure you want to uninstall zone exclusivetestzone1 (y/[n])? y
# zoneadm -z exclusivetestzone1 install
ERROR: the zonepath must be a ZFS dataset.
The parent directory of the zonepath must be a ZFS dataset so that the
zonepath ZFS dataset can be created properly.
# cat /zone/exclusivetestzone1.config
create
set zonepath=/zone/exclusivetestzone1

As you can see from this, the parent of the zonepath is /zone and that
is a freshly created ZFS dataset. Furthermore, / which is the parent of
/zone is also a ZFS dataset. Having /zone as a directory within / and
not a dataset also results in the above error.

Between zoneadm and zonecfg, I can't see anything that instructs me on
how to resolve this. Am I missing something?

Darren

___
zones-discuss mailing list
zones-discuss@opensolaris.org


Re: [zones-discuss] zoneadm wants more ZFS when only ZFS exists

2011-02-04 Thread Darren Reed
So it would seem this is related to at 7010744 which implies 6726123 
needs to be fixed. It could also be a manifestation of 7010102 (if the 
submitter means slashes and not spaces.)


Can someone else confirm that?
Or is the problem I've observed different again?

Darren

___
zones-discuss mailing list
zones-discuss@opensolaris.org