• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Installing Virtuoso with Chef

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 126
  • Views 15667
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Installing Virtuoso with Chef

awesome1
awesome1 over 10 years ago

Are you aware of a Chef.io cookbook for deploying and configuring Virtuoso 6.xx?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    I wasn't that aware of Chef (I just read up on it). I'm not sure there's anything special needed. Generally speaking you install Cadence releases (such as IC616) on a filer and then NFS mount the software using a mount point (often automount). This means that there's no major deployment task since you don't need to replicate the installation to each machine in the network. All I do is install on the server and add an automount entry in the automount map, and then it is available to all users. I have a version selection system that uses rule-based lookup to find releases, but if you were using something like "modules", it would just be a matter of adding a module entry for that release too so that users can pick it.

    So I'm not sure what you're asking - to me it doesn't look as if Chef would add much value here. Maybe others in the community have used Chef and can give you the advice you're looking for.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • awesome1
    awesome1 over 10 years ago

    Hi Andrew,

    I agree with you about how Cadence releases are installed; I am super-familiar with the GUI flow.  

    I however need to do the download/install/configure process very often because I support multiple sites with different configurations of Virtuoso, Orcad, INCISIV, PVS; the options are different at each site.  The tool hierarchies point to different dependencies; e.g., different INCISIV trees and so on.  The GUIs don't really cut it any more because it has become a huge time sink for me.

    It's hard to think that Chef can be simpler than IScape, but it is hugely simpler and more repeatable.  

    I believe the opposite.  Chef would indeed add tremendous value to any organization.  And it is not an evaluation one should make in a snap.

    --

    Best regards,

    Oscar

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Oscar,

    Note that iscape can be run in command line mode too, so it is very suitable to be scripted. We actually do this here - one of my team has some perl code which checks the releases on downloads and updates our installations when new hotfixes are available (which is great for customer support). I even have some expect scripts (which I have developed over the years) which answer the questions when running the configuration.

    If Chef supports some scripting (which from a very quick glance it does), then I assume you could incorporate that somehow.

    As I said, I'm the wrong person to answer because I'm really not that familiar with Chef - but there is the ability to script the iscape runs which would avoid the need for lots of GUI interactions.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • awesome1
    awesome1 over 10 years ago

    Hi Andrew,

    You are very helpful, thanks so much.

    So, would you give me a reference using iscape in purely script mode; exactly as your colleague does.  I need to do exactly the same things; e.g., check for updates, set site options, run the download and install the tools; unattended.

    Please help.

    --

    Best regards,

    Oscar

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    For example:

    iscape/bin/iscape.sh -batch majoraction=selectReleases minorAction=getSourceSites

    will list all the available builds (you'll get prompted for a username and password, but this will be cached).

    If you run "iscape.sh -help" it will give you a broad overview, but the general idea is that you can do things like:

    iscape.sh -batch majoraction=install ...

    Easiest to find the options using "iscape.sh -help controlFile" or "iscape.sh -help download" - it covers it pretty well.

    We've wrapped this up in a perl client-server architecture to make it easy to tell it what we want to update (from an XML master database); I can't share that with you, but essentially it's just using iscape.sh batch commands underneath

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • traugusto
    traugusto over 10 years ago

    I can't understood the XML database thing... For what is it used and how? Do you have a client script and a server in Perl?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    You weren't supposed to understand it - all I was saying was that internally we have produced some utilities which use an XML file to describe which releases we want to update, and then have some perl scripts to manage the installations which use this XML file to control what gets done. Since I can't share these utilities, I was just broadly describing what we've done around the batch iscape.sh command to manage software releases within the EMEA support team. The key part was using iscape.sh in batch mode.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • traugusto
    traugusto over 10 years ago

    Oh ok, I was curious about which way the XML was going to be read by the iscape.sh, now I understood it was wrapped in these utilities. Very clever! Thanks for your explanation!  Regards, Thiago.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information