Larry Ellison at Oracle made some really exciting announcements yesterday on SPARC and Solaris! It's definitely worth registering and watching the event to find all the details. But here are the high lights:
Oracle Beats IBM on TPC-C Benchmark at 30M Transactions per Minute!
SPARC T4 Processor
SPARC64 VII+ (M3) Processor
Honestly, I don't think I've seen Larry soo excited! So basically Oracle now has several pre-configured SPARC based appliances that can run Solaris 10 or Solaris 11. The SPARC SuperCluster can be used for databases or general computing, while the SPARC ExaLogic can be used for the Oracle Fusion middleware products. There will be three SuperCluster configurations, one based on the SPARC T3-2 servers, the second based on the SPARC T3-4 servers, and the last one based on the M5000 servers. The SPARC ExaLogic product is based on the SPARC T3-1B blades. All of the configurations leverage the same management tools, Infiniband fabric, flash storage, flash cache, and the ZFS based 7000 series arrays as the x64 ExaData and ExaLogic configurations in place today. As a result, the SPARC SuperCluster and the SPARC ExaLogic systems can scale big time!
I think the important thing to keep in mind here is that the SPARC T3 processor obviously can pack a bigger punch than HP or IBM and with a much smaller foot-print and cost. Considering that it now has the TPC-C and the SPECweb top spots, it'll be harder for the FUD spreaders to say that SPARC is slow or out-dated. Clearly betting on the whole CMT concept has paid off and forced the industry to follow.
The SPARC T4 processor was announced in this event as well. As many have speculated these processors will have 8 cores and focus on improving single-threaded performance by a factor of 3. These should use the new VT (Yellowstone) core that Sun talked about in the past that will start out with 8 cores and 8 threads. These should go beyond the 2Ghz clock rate. It's great to hear that these processors are already in the labs and will come out next year. It would appear that Oracle is ensuring that Sun engineers and TSMC get things tapped out in a reasonable amount of time. If that means that the T4 servers will come out next year, then I would expect that we'll see the T5 servers in 2012/2013 time-frame. All together, this is great news and I can't wait to get my hands on a T4 box!
The SPARC64-VII+ or SPARC M3 processor as Larry likes to call it, was also announced. This is nothing new if you attended the Oracle OpenWorld 2010 event like I did. This brings a 20% boost in performance with a higher clock rate (up to 3Ghz finally!) and 12MB cache! Of course this upgrade is available on the M4000-M9000 servers, with full backward compatibility. As pointed out by Fujitsu and Oracle, this is the 4th generation processor upgrade for the M-series servers, which is definitely a lot of investment protection.
If you've ever had a conversation with me about Jumpstart, you know that I'm a big believer in the Jumpstart Enterprise Toolkit (JET). I've used it for over 7 years now and it's usually one of the first things I've setup for shops when I walk in the door to find that they don't have a good Solaris provisioning mechanism.
With OpenSolaris and thusly Solaris 11 Express, many changes have taken place around packaging, patching, and operating system installation. The one thing that has definitely changed things is Auto Installer, or AI as it's known. AI works with many of the same assumptions as IPS and SMF. No longer do you have pre or post installation scripts. You don't have all the options you've been use to using with things like JET or N1 SPS. However, this has been improving incrementally over the past year, but still has some way to go. I wanted to post what I've found to work.
The first step on this journey is to download the Solaris 11 Express AI images from:
Once you've done that, you need to install the AI tools:
$ pfexec pkg install installadm ...
As you can see this service is dependent upon DNS, TFTP, and DHCP. If you don't have DHCP setup, it'll configure it for you. Or you can set it up with the following:
$ pfexecdhcpconfig -D -r SUNWfiles -p /var/tmp Created DHCP configuration file. Created dhcptab. Added "Locale" macro to dhcptab. Added server macro to dhcptab - katana. DHCP server started.
If you have TCP Wrappers enabled, you'll have to open it up in your /etc/hosts.allow file with a "in.tftpd:ALL" line added to it.
Once that has been done, you can create what is known as an "install service" in AI:
$ pfexecinstalladm create-service -n s11-151a-sparc -s /export/install/isos/sol-11-exp-201011-ai-sparc.iso /export/install/aiserver/s11-151a-sparc Setting up the target image at /export/install/aiserver/s11-151a-sparc ... Registering the service s11-151a-sparc._OSInstall._tcp.local Service discovery fallback mechanism set up Creating SPARC configuration file
$ pfexec installadm create-service -n s11-151a-x86 -s /export/install/isos/sol-11-exp-201011-ai-x86.iso /export/install/aiserver/s11-151a-x86 Setting up the target image at /export/install/aiserver/s11-151a-x86 ... Registering the service s11-151a-x86._OSInstall._tcp.local copying boot file to /tftpboot/pxegrub.I86PC.Solaris-1 Service discovery fallback mechanism set up
What the first command will do is setup an installation service called "s11-151a-sparc" using the ISO we've downloaded and installing it into "/export/install/aiserver/s11-151a-sparc". The second command creates a service for x86 servers using similar syntax and of course the x86 ISO. This will enable SPARC clients to boot with WANBOOT and for x86 clients to boot with PXE. This will register the image with SMF install service, which you can check on below:
$ svcs -l install/server fmrisvc:/system/install/server:default name Installadm Utility enabled true state online next_state none state_time November 27, 2010 02:03:25 AM CST logfile /var/svc/log/system-install-server:default.log restartersvc:/system/svc/restarter:default contract_id 134 dependency optional_all/restart svc:/network/dns/multicast:default (online) dependency optional_all/none svc:/network/tftp/udp6:default (online) dependency optional_all/none svc:/network/dhcp-server:default (online)
This service will start-up Apache instances for each install service you create:
You can see your AI service details with the installadm command:
$ installadm list Service Name Status Arch Port Image Path ------------ ------ ---- ---- ---------- osol-b134-sparc off Sparc 46501 /export/install/aiserver/osol-b134-sparc s11-151a-sparc on Sparc 46502 /export/install/aiserver/s11-151a-sparc s11-151a-x86 on x86 46503 /export/install/aiserver/s11-151a-x86
At this point, your AI setup is very generic. So how do you customize it? Well you have to modify the default manifest for each service and create further manifests for any client specific customizations you want to do. Now, you can definitely read the documentation on doc.sun.com, which I would highly recommend considering this will continue to change.
However, to help you get started I've provided a sample default manifest you can use. The default manifest for each service is called default.xml, which is an XML file. The important thing about this file is that it'll be used as the base manifest and is critical to be careful with editing it, I would recreate a backup copy just in case before doing anything. So here it is:
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
CDDL HEADER END
Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
--> <!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd"> <auto_install> <ai_instance name="default" auto_reboot="true"> <target> <target_device> <swap> <zvol action="create" name="swap"> <size val="4gb"/> </zvol> </swap> <dump> <zvol action="create" name="dump"> <size val="4gb"/> </zvol> </dump> </target_device> </target> <software> <source> <publisher name="solaris"> <origin name="http://pkg.oracle.com/solaris/release"/> </publisher> </source> <!-- By default the latest build available, in the specified IPS repository, is installed. If another build is required, the build number has to be appended to the 'entire' package in following form:
<name>pkg:/entire@0.5.11-0.build#</name> --> <software_data action="install" type="IPS"> <name>pkg:/entire</name> <name>pkg:/babel_install</name> <!-- The following packages are required by iSCSI and included by default to make it easier for users to enable iSCSI if desired. They can be deleted from this list if iSCSI isn't used. See iscsiadm(1m) man page for more information. support for iSCSI. --> <name>pkg:/network/iscsi/initiator</name> <name>pkg:/network/iscsi/iser</name> </software_data> <!-- babel_install and slim_install are group packages used to define the default installation. They are removed here so that they do not inhibit removal of other packages on the installed system. --> <software_data action="uninstall" type="IPS"> <name>pkg:/babel_install</name> <name>pkg:/slim_install</name> </software_data> </software> <!-- Add missing driver packages to a booted install image so an installation can complete. Add packages to target as well. <search_all> searches and installs from configured repo. --> <add_drivers> <search_all/> </add_drivers> <sc_embedded_manifest name="AI"> <!-- <?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/install/config" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="user_account" type="application"> <propval name="login" type="astring" value="operator"/> <propval name="password" type="astring" value="boajrOmU7GFmY"/> <propval name="description" type="astring" value="default_user"/> <propval name="shell" type="astring" value="/usr/bin/bash"/> <propval name="uid" type='count' value='101'/> <propval name="gid" type='count' value='10'/> <propval name="type" type="astring" value="normal"/> <propval name="roles" type="astring" value="root"/> </property_group>
Install any drivers your platform requires that are not in the boot image
Create the "operator" account for doing administrative tasks using RBAC with the password of "newroot"
Set the root password to "newroot"
Set the timezone
Set the host name to "solaris"
Set the console type to "vt100"
Set the keyboard layout to "US-English"
Enable the NWAM service to auto configure the networking
Now this will enable your clients to come up with some account settings to get you logged in and set the language and console type. The client will grab the IP information from DHCP and call itself "solaris". But this hardly matches up with what Jumpstart could do for us. So now lets create a manifest for a client called the "test":
/export/install/aiserver/s11-151a-sparc/auto_install$ pfexec mkdir clients /export/install/aiserver/s11-151a-sparc/auto_install/clients$ pfexec vi test.xml
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
CDDL HEADER END
Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
--> <!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd"> <auto_install> <ai_instance name="test" auto_reboot="true"> <target> <target_device> <disk> <disk_keyword key="boot_disk"/> </disk> </target_device> <target_device> <swap> <zvol action="create" name="swap"> <size val="4gb"/> </zvol> </swap> </target_device> <target_device> <dump> <zvol action="create" name="dump"> <size val="4gb"/> </zvol> </dump> </target_device> </target> <software> <source> <publisher name="solaris"> <origin name="http://pkg.oracle.com/solaris/release"/> </publisher> </source> <!-- By default the latest build available, in the specified IPS repository, is installed. If another build is required, the build number has to be appended to the 'entire' package in following form:
<name>pkg:/entire@0.5.11-0.build#</name> --> <software_data action="install" type="IPS"> <name>pkg:/entire</name> <name>pkg:/babel_install</name> <!-- The following packages are required by iSCSI and included by default to make it easier for users to enable iSCSI if desired. They can be deleted from this list if iSCSI isn't used. See iscsiadm(1m) man page for more information. support for iSCSI. --> <name>pkg:/network/iscsi/initiator</name> <name>pkg:/network/iscsi/iser</name> </software_data> <!-- babel_install and slim_install are group packages used to define the default installation. They are removed here so that they do not inhibit removal of other packages on the installed system. --> <software_data action="uninstall" type="IPS"> <name>pkg:/babel_install</name> <name>pkg:/slim_install</name> </software_data> </software> <!-- Add missing driver packages to a booted install image so an installation can complete. Add packages to target as well. <search_all> searches and installs from configured repo. --> <add_drivers> <search_all/> </add_drivers> <sc_embedded_manifest name="AI"> <!-- <?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type="profile" name="system configuration"> <service name="system/install/config" version="1" type="service"> <instance name="default" enabled="true"> <property_group name="user_account" type="application"> <propval name="login" type="astring" value="operator"/> <propval name="password" type="astring" value="boajrOmU7GFmY"/> <propval name="description" type="astring" value="default_user"/> <propval name="shell" type="astring" value="/usr/bin/bash"/> <propval name="uid" type='count' value='101'/> <propval name="gid" type='count' value='10'/> <propval name="type" type="astring" value="normal"/> <propval name="roles" type="astring" value="root"/> </property_group>
This will set the host name and the static IP configuration, which is a bit more helpful than the default manifest. Now we must associate this manifest with the install service:
$ pfexec installadm add-manifest -m /export/install/aiserver/s11-151a-sparc/auto_install/clients/test.xml -n s11-151a-sparc -c MAC="00:14:4b:26:31:ab" $ installadm list -m Service Name Manifest ------------ -------- s11-151a-sparc test.xml
That will associate the manifest with the installation service and tie it to the MAC address of our client, which we haven't configured yet. You can use other ways of associating a manifest with an install service. But this is the easiest for associating it with a specific client.
$ installadm list Service Name Status Arch Port Image Path ------------ ------ ---- ---- ---------- osol-b134-sparc off Sparc 46501 /export/install/aiserver/osol-b134-sparc s11-151a-sparc on Sparc 46502 /export/install/aiserver/s11-151a-sparc s11-151a-x86 on x86 46503 /export/install/aiserver/s11-151a-x86 $ installadm list -c Service Name Client Address Arch Image Path ------------ -------------- ---- ---------- s11-151a-sparc 00:14:4b:26:31:AB Sparc /export/install/aiserver/s11-151a-sparc
At this point you can do an AI installation on the client:
{0} ok boot net:dhcp - install Boot device: /pci@500/pci@0/pci@8/network@0:dhcp File and args: - install /pci@500/pci@0/pci@8/network@0: 100 Mbps full duplex link up
The one thing that I've found that does not work in the manifest is the sizing of the swap and the dump datasets in the ZFS rpool. But this is easy to fix afterwards:
root@test:~# zfs set volsize=4g rpool/swap root@test:~# zfs set volsize=4g rpool/dump
I'm sure I'll find more things to play with in AI. But I think you'll be able to learn from this and get started. Hopefully we'll see some plug-ins in JET and Ops Center next to support AI.
Over the Thanksgiving break, I worked on upgrading all of my OpenSolaris systems to Solaris 11 Express. The journey wasn't as difficult as one might have expected and I wanted to share the steps for doing this with everyone.
The first thing that you should do is to upgrade to the last build of OpenSolaris, known as build 134b. This will enable you to then upgrade to Solaris 11 Express and is a requirement.
$ pfexec pkg set-publisher -P -O http://pkg.opensolaris.org/release/ opensolaris.org $ pkg publisher PUBLISHER TYPE STATUS URI opensolaris.org (preferred) origin online http://pkg.opensolaris.org/release/
At this point your OpenSolaris server is ready for doing an image update with IPS. Now an important consideration here is if you have Containers running. You will have to update them as well and instead of going through and manually updating them, we'll allow the "-U attach" command-line option for zoneadm do the hard work for us. So for now, lets bring down any Containers that are running.
$ zoneadm list global takeda miroku $ pfexec zoneadm -z takeda halt $ pfexec zoneadm -z takeda detach $ pfexec zoneadm -z miroku halt $ pfexec zoneadm -z miroku detach $ zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / ipkg shared - takeda configured /zones/takeda ipkg shared - miroku configured /zones/miroku ipkg shared
Now that the Containers are shutdown and detached, lets focus on the global-zone. One of the things I like to do when performing an image update is to make sure that I name the boot environment something meaningful, so lets call the new boot environment "opensolaris-b134b". You can pass this information to the pkg command, here the full out-put of an upgrade:
$ beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- opensolaris-b133 - - 29.63M static 2010-02-21 20:17 opensolaris-b133-1 NR / 33.67G static 2010-09-29 22:00 $ pfexec pkg image-update --be-name opensolaris-b134b DOWNLOAD PKGS FILES XFER (MB) Completed 1063/1063 13433/13433 327.7/327.7
A clone of opensolaris-b133-1 exists and has been updated and activated. On the next boot the Boot Environment opensolaris-b134b will be mounted on '/'. Reboot when ready to switch to this updated BE.
$ beadm list BE Active Mountpoint Space Policy Created -- ------ ---------- ----- ------ ------- opensolaris-b133 - - 29.63M static 2010-02-21 20:17 opensolaris-b133-1 N / 11.66M static 2010-09-29 22:00 opensolaris-b134b R - 35.48G static 2010-11-19 16:56
At this point we can reboot the server and move onto updating our Containers before the big move to Solaris 11 Express.
$ pfexec shutdown -y -g0 -i 6 ... $ uname -a SunOS katana 5.11 snv_134b i86pc i386 i86pc $ cat /etc/release OpenSolaris 2010.05 snv_134b X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 28 May 2010
At this point we can now update our Containers using the zoneadm command:
Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z Non-Global zone version: entire@0.5.11,5.11-0.134:20100302T023003Z Publisher Check: Zone preferred publisher does not contain entire@0.5.11,5.11-0.134.0.2:20100528T233058Z. Publisher Reset: Copying preferred publisher from global zone. Cache: Using /var/pkg/download. Updating non-global zone: Output follows DOWNLOAD PKGS FILES XFER (MB) Completed 112/112 2168/2168 48.7/48.7
PHASE ACTIONS Removal Phase 1913/1913 Install Phase 3146/3146 Update Phase 2708/2708 Updating non-global zone: Zone updated to entire@0.5.11,5.11-0.134.0.2:20100528T233058Z Attach complete.
Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z Non-Global zone version: entire@0.5.11,5.11-0.134:20100302T023003Z Publisher Check: Zone preferred publisher does not contain entire@0.5.11,5.11-0.134.0.2:20100528T233058Z. Publisher Reset: Copying preferred publisher from global zone. Cache: Using /var/pkg/download. Updating non-global zone: Output follows DOWNLOAD PKGS FILES XFER (MB) Completed 112/112 2168/2168 48.7/48.7
PHASE ACTIONS Removal Phase 1913/1913 Install Phase 3146/3146 Update Phase 2708/2708 Updating non-global zone: Zone updated to entire@0.5.11,5.11-0.134.0.2:20100528T233058Z Attach complete.
At this point our Containers are also upgraded. So now we can move onto the big upgrade, but lets first detach our Containers.
At this point we can now do the image update to Solaris 11 Express. We'll use "solaris11-151a" as the name for the new boot environment. Notice the OTN license acceptance option and how it's printed out so you don't forget.
Oracle Solaris, Oracle Solaris Cluster and Oracle Solaris Express
EXPORT CONTROLS Selecting the "Accept License Agreement" button is a confirmation of your agreement that you comply, now and during the trial term (if applicable), with each of the following statements:
-You are not a citizen, national, or resident of, and are not under control of, the government of Cuba, Iran, Sudan, North Korea, Syria, or any country to which the United States has prohibited export.
-You will not download or otherwise export or re-export the Programs (as defined below), directly or indirectly, to the above mentioned countries or to citizens, nationals or residents of those countries.
-You are not listed on the United States Department of Treasury lists of Specially Designated Nationals, Specially Designated Terrorists, and Specially Designated Narcotic Traffickers, nor are you listed on the United States Department of Commerce Table of Denial Orders.
You will not download or otherwise export or re-export the Programs, directly or indirectly, to persons on the above mentioned lists.
You will not use the Programs for, and will not allow the Programs to be used for, any purposes prohibited by United States law, including, without limitation, for the development, design, manufacture or production of nuclear, chemical or biological weapons of mass destruction.
EXPORT RESTRICTIONS You agree that U.S. export control laws and other applicable export and import laws govern your use of the Programs, including technical data; additional information can be found on Oracle's Global Trade Compliance web site (http://www.oracle.com/products/export).
You agree that neither the Programs nor any direct product thereof will be exported, directly, or indirectly, in violation of these laws, or will be used for any purpose prohibited by these laws including, without limitation, nuclear, chemical, or biological weapons proliferation.
Oracle Employees: Under no circumstances are Oracle Employees authorized to download software for the purpose of distributing it to customers. Oracle products are available to employees for internal use or demonstration purposes only. In keeping with Oracle's trade compliance obligations under U.S. and applicable multilateral law, failure to comply with this policy could result in disciplinary action up to and including termination.
PLEASE READ THE FOLLOWING LICENSE AGREEMENT TERMS AND CONDITIONS CAREFULLY BEFORE DOWNLOADING, INSTALLING OR USING THE PROGRAMS. THESE TERMS AND CONDITIONS CONSTITUTE A LEGAL AGREEMENT BETWEEN YOU AND ORACLE.
Oracle Technology Network Development License Agreement "We," "us," and "our" refers to Oracle America, Inc., for and on behalf of itself and its subsidiaries and affiliates under common control. "You" and "your" refers to the individual or entity that wishes to use the Programs. "Programs" refers to Oracle Solaris, Oracle Solaris Cluster and/or Oracle Solaris Express that you download from this site (including, any updates and/or additional software packages that you may receive in the future from the product's package repository) and related program documentation. "License" refers to your right to use the Programs under the terms of this agreement. This agreement is governed by California law, except for that body of laws related to the conflict of laws. You agree to submit to the exclusive jurisdiction of, and venue in, the courts of San Francisco or Santa Clara counties in California in any dispute arising out of or relating to this agreement.
In order to use the Programs, You must first agree to this License Agreement by selecting the "Accept License Agreement" button below. If You do not or cannot agree to this License Agreement, You are not permitted to download or use the Programs.
LICENSE RIGHTS Except for any included software package or file that is licensed to you by Oracle under different license terms, we grant you a perpetual (unless terminated as provided in this agreement), nonexclusive, nontransferable, limited License to use the Programs only for the purpose of developing, testing, prototyping and demonstrating your applications, and not for any other purpose.
All rights not expressly granted above are hereby reserved. If you want to use the Programs for any purpose other than as permitted under this agreement, including but not limited to distribution of the Programs or any use of the Programs for your internal business purposes (other than developing, testing, prototyping and demonstrating your applications) or for any commercial production purposes, you must obtain a valid license permitting such use. We may audit your use of the Programs. Program documentation, if available, may be accessed online at http://otn.oracle.com/docs.
Third-Party Technology. The Programs may contain or be distributed with certain third-party technology. Oracle may provide certain notices related to such third-party technology in the program documentation, or in readme or notice files provided with the Programs.
Third party technology will be licensed to you either under the terms of this agreement, or, if specified in the program documentation, readme files or otherwise in writing, under separate license terms ("Separate Terms") and not under the terms of this agreement ("Separately Licensed Third Party Technology"). Licensee's rights to use such Separately Licensed Third Party Technology under the Separate Terms are not restricted or modified in any way by this Agreement.
Information Collection and Registration Configuration Data and Registration: The Programs may communicate configuration data to Oracle. You can register your version of the Programs to capture this data for your use, or the data is sent anonymously. For information about what configuration data is communicated and how to control this facility, refer to the release notes or www.oracle.com/goto/solarisautoreg.
Ownership and Restrictions We retain all ownership and intellectual property rights in the Programs. The Programs may be installed on one computer only, and used by one person in the hardware environment identified by us. You may make one copy of the Programs for backup purposes.
You may not: - use the Programs for your own internal business purposes (other than developing, testing, prototyping and demonstrating your applications) or for any commercial or production purposes;
- remove or modify any program markings or any notice of our proprietary rights;
- make the Programs available in any manner to any third party;
- use the Programs to provide third-party training;
- assign this agreement or give or transfer the Programs or an interest in them to another individual or entity;
- cause or permit reverse engineering (unless required by law for interoperability), disassembly or decompilation of the Programs;
- disclose results of any benchmark test results related to the Programs without our prior consent.
Export You agree that U.S. export control laws and other applicable export and import laws govern your use of the Programs, including technical data; additional information can be found on Oracle's Global Trade Compliance web site located at http://www.oracle.com/products/export/index.html?content.html. You agree that neither the Programs nor any direct product thereof will be exported, directly, or indirectly, in violation of these laws, or will be used for any purpose prohibited by these laws including, without limitation, nuclear, chemical, or biological weapons proliferation.
Disclaimer of Warranty and Exclusive Remedies THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. WE FURTHER DISCLAIM ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
IN NO EVENT SHALL WE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. OUR ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED ONE THOUSAND DOLLARS (U.S. $1,000).
Additional Trial Programs We may include additional trial programs with your download of the Programs licensed under this agreement. You will have 30 days from the delivery date to evaluate these additional trial programs. Any use of these trial programs after the 30-day trial period requires you to obtain the applicable license. Any additional trial programs are provided "as is" and we do not provide technical support or any warranties for these programs.
No Technical Support Our technical support organization will not provide technical support, phone support, or updates to you for the Programs licensed under this agreement.
End of Agreement You may terminate this agreement by destroying all copies of the Programs. We have the right to terminate your right to use the Programs if you fail to comply with any of the terms of this agreement, in which case you shall destroy all copies of the Programs.
Relationship Between the Parties The relationship between you and us is that of licensee/licensor. Neither party will represent that it has any authority to assume or create any obligation, express or implied, on behalf of the other party, nor to represent the other party as agent, employee, franchisee, or in any other capacity. Nothing in this agreement shall be construed to limit either party's right to independently develop or distribute software that is functionally similar to the other party's products, so long as proprietary information of the other party is not included in such software.
Open Source Software "Open Source" software - software available without charge for use, modification and distribution - is often licensed under terms that require the user to make the user's modifications to the Open Source software or any software that the user 'combines' with the Open Source software freely available in source code form. If you use Open Source software in conjunction with the Programs (or if you plan on licensing your own application under an Open Source license), you must ensure that your use does not: (i) create, or purport to create, obligations with respect to the Oracle Programs; or (ii) grant, or purport to grant, to any third party any rights to or immunities under our intellectual property or proprietary rights in the Oracle Programs. For example, you may not develop a software program using an Oracle program and an Open Source program where such use results in a program file(s) that contains code from both the Oracle program and the Open Source program (including without limitation libraries) if the Open Source program is licensed under a license that requires any "modifications" be made freely available. You also may not combine the Oracle program with programs licensed under the GNU General Public License ("GPL") in any manner that could cause, or could be interpreted or asserted to cause, the Oracle program or any modifications thereto to become subject to the terms of the GPL.
Entire Agreement You agree that this agreement is the complete agreement for the Programs and licenses, and this agreement supersedes all prior or contemporaneous agreements or representations, including any and all clickwrap, shrinkwrap or similar licenses. If any term of this agreement is found to be invalid or unenforceable, the remaining provisions will remain effective.
Last updated: 08/12/10
Should you have any questions concerning this License Agreement, or if you desire to contact Oracle for any reason, please write:
Oracle America, Inc. 500 Oracle Parkway, Redwood City, CA 94065
Oracle may contact you to ask if you had a satisfactory experience installing and using this OTN software download.
A clone of opensolaris-b134b exists and has been updated and activated. On the next boot the Boot Environment solaris11-151a will be mounted on '/'. Reboot when ready to switch to this updated BE.
$ cat /etc/release Oracle Solaris 11 Express snv_151a X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 04 November 2010
Now, lets upgrade our Containers using the zoneadm command:
preferred global publisher: solaris Global zone version: entire@0.5.11,5.11-0.151.0.1:20101105T054056Z Non-Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Cache: Using /var/pkg/download. Updating non-global zone: Output follows Packages to remove: 2 Packages to install: 84 Packages to update: 109 Create boot environment: No Services to restart: 6 ------------------------------------------------------------ Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.151.0.1:20101104T230646Z License: usr/src/pkg/license_files/lic_OTN
preferred global publisher: solaris Global zone version: entire@0.5.11,5.11-0.151.0.1:20101105T054056Z Non-Global zone version: entire@0.5.11,5.11-0.134.0.2:20100528T233058Z
Cache: Using /var/pkg/download. Updating non-global zone: Output follows Packages to remove: 2 Packages to install: 84 Packages to update: 109 Create boot environment: No Services to restart: 6 ------------------------------------------------------------ Package: pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.151.0.1:20101104T230646Z License: usr/src/pkg/license_files/lic_OTN
PHASE ITEMS Package State Update Phase 304/304 Package Cache Update Phase 111/111 Image State Update Phase 2/2 Updating non-global zone: Zone updated. Result: Attach Succeeded.
Now we can bring up our Containers and check them out.
$ zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / ipkg shared - takeda installed /zones/takeda ipkg shared - miroku installed /zones/miroku ipkg shared
$ pfexec zoneadm -z takeda boot $ pfexec zoneadm -z miroku boot $ zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / ipkg shared 1 takeda running /zones/takeda ipkg shared 2 miroku running /zones/miroku ipkg shared
root@takeda:~# uname -a SunOS takeda 5.11 snv_151a i86pc i386 i86pc root@takeda:~# cat /etc/release Oracle Solaris 11 Express snv_151a X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 04 November 2010
root@miroku:~# uname -a SunOS miroku 5.11 snv_151a i86pc i386 i86pc root@miroku:~# cat /etc/release Oracle Solaris 11 Express snv_151a X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 04 November 2010
So there we are! All of our Containers are updated nicely with our Global Zone. I've been able to do this on x86, SPARC, in LDoms, and even VirtualBox!