Code Monkey home page Code Monkey logo

orabuntu-lxc's People

Contributors

gstanden avatar paralax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orabuntu-lxc's Issues

Package orabuntu-lxc as a .deb package

On the first run, orabuntu-lxc can be run with all questions set to default values by keying on whether /etc/orabuntu-release exists or not. On the first run, it can be installed as a .deb with default parameters set (maybe a preinstall script that asks for the versions and domains, etc.). Get that done with debreate.

The /etc/resolv.conf file in the cloned containers still has the gns1.vmem.org hardcoded

The delegated subdomain for the gns1 subdomain needs to be dynamically updated with the chosen domain, e.g. not gns1.vmem.org but rather for example gns1.orabuntu-lxc.com if using the main domain orabuntu-lxc.com. The change needs to be made in /etc/dhcp/dhclient.conf which is where this gets set. So to the sed commands which update files needs to be added the user's chosen domain value.

Customize lxc-services.sh script for each OEL version

The package lists required for each version of OEL for running 12c RAC vary from version to version. Need to customize the lxc-services.sh script.

lxc-services-oel5.sh
lxc-services-oel6.sh
lxc-services-oel7.sh

User-settable GNS cluster name needed

Currently the GNS cluster name is hardcoded as "lxc1". It needs to be user settable. The IP address for the GNS is hardcoded as 10.207.39.3 this also needs to be updated to be user-settable.

Develop procedure for silent oracle install

Develop a way to do a silent oracle install so that entire system can be installed with deb package. This will also require downloading Oracle install media from command line.

Create scripting for network add-ins

I have recoded orabuntu-lxc to simply create a single eth0 interface in the container that is given it's IP address from DHCP. Formerly, the software created LXC config file that had everything needed for creating Oracle 12c RAC GNS ASM Flex Clusters. This ASM Flex Cluster feature will now become an add-in prior to cloning - an option - the first of many - for customizing the config file for the Oracle product you intend to install. My prototype software used 2 ASM dedicated network subnets, and 4 Oracle RAC private interface dedicated network subnets. This should be user selectable, as to number of redundant networks, and IP address of networks. This will be added as a menu-driven "add a network to your containers" feature that may also be associated with a "choose your Oracle enterprise software product" which then presents the user with configurable settings for the containers to be used for a specific product install.

Incorporate veth_cleanup scripts where applicable.

These scripts cleanup remnant veth pairs that can cause containers to fail to start. I have subroutines in most of my startup code for containers to resort to running veth_cleanup script when container fails to start after 5 wait iterations (fails to show RUNNING status as polled from lxc-ls -f) and I need to be sure that all container start code has this veth_cleanup subroutine and that all veth_cleanup scripts are being created correctly dynamically.

Add support for 4.2 kernels to hugepages_settings.sh file

The hugepages_settings.sh file currently supports only 2.x and 3.x kernels. Edit for 4.x kernels needed. This can either be done as a sed edit to the file distributed from lxc-lxcora01.tar, or the lxc-lxcora01.tar can be recreated containing the new version of hugepages_settings.sh.

Need an NTP fixit script

Sometimes the NTP fails prerequisite checks. When this happens, it is required to:

  1. kill the ntpd process on each container
  2. issue 'service ntpd start'
  3. issue 'ntpd'
  4. check status with "ntpq -p"

So this would be a fixit type script that could be automatically run on each container with just one command (sshpass commands run from a single file on the install node). The error could even be auto-detected from the text format installer log file and run automatically if detected.

The Seed Containers lxcora00xx and lxcora0xx on a separate network

The best way to handle these is probable to put them on a separate network. That way the DHCP assignments which have the last triplet matching the container name will not be affected. Also, the lxcora00xx container needs to have its if-up.d and if-down.d files created. If I put these seed containers on a separate network, then they can use the exact same scripting for DHCP assignment, but just use a different name prefix. Instead of 'lxcora' call them 'auora' using the atomic symbol for gold (to suggest 'gold copy') Au. Another possibility would be 'stdora' for "standard oracle'. Or what about just 'oraclexx' - yes, I think that's it. The seed containers gold copies will be 'oraclexx' for example 'oracle65', 'oracle67', etc. showing their version. These will be on a separate network.

Highlight that orabuntu-lxc is a replacement for VirtualBox, VMWare Player, etc. on the desktop

In addition to the enterprise uses of Orabuntu-lxc, it's a great replacement for VirtualBox because you get bare metal performance and much higher density and elasticity, which means you can prototype systems faster, and do more with just your one laptop - many more containers per Gb than VM's and many more RUNNING containers per unit memory and computer than with traditional solutions such as VirtualBox.

Tabla Rasa Cleanup

The complete cleanup needs to

  1. delete /etc/orabuntu-release
  2. del-bridges.sh
  3. delete /var/lib/bind/*
  4. delete dhcp leases file(s)
  5. reboot server
    6 dd the ASM LUNs headers

Incorporate new file scst-net into ubuntu-host.tar

The scst-net file logs out of the SCST target on shutdown or on reboot (runs from /etc/network/if-down.d) and needs to be part of the ubuntu-host.tar distribution for configuring the OS to ensure that shutdowns and reboots do not hang. This will probably replace the code used at the end of create-scst-5b.sh so remove that code as part of this issue resolution.

Added /etc/network/if-down.d/scst-net to logout of SCST on shutdown or reboot

This is a workaround, because of course this will execute whenever the network goes down, but still it works very well for logging out of SCST before a shutdown. Shutting down with the LUNs still present and logged in to SCST was causing reboot to hang, and sometimes shutdown as well. This fix seems to be working very well.

Add messaging that oel59 containers take longer to shutdown

For now, put in messaging that oel59 containers take significantly longer to shutdown. For the future, try to diagnose the problem causing them to shutdown much more slowly, and fix so that the shutdown just as fast as oel6x containers.

Need SCST scripts for -rem_lun and -close_dev

After deleting a database system in a container, one may want to create new storage LUNs for a new deployment. Scripts are needed which delete all the LUNs in use and allow for new LUNs to be created for a new deployment in container.

Update lxc-services.sh and replace in tar bundle

The lxc-services.sh script gets updated in the clone containers script with a sed edit. Put the edited version of lxc-services.sh into the tar bundles, and remove the edit from the clone script.

The /etc/security/limits.conf file needs update

The memlock value will be used only with oracle user (not grid) and new values are needed based on the 1.5G SGA. This can be done as a sed edit, as an overwrite file included in the distribution, or the lxc-lxcora01.tar can be recreated with the new limits.conf file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.