Recent comments

  • Do you support jre-1.6.0-openjdk.x86_64?   1 day 5 hours ago

    That did it.

    Thanks,
    CloudIQ User

  • Do you support jre-1.6.0-openjdk.x86_64?   1 day 5 hours ago

    All of our internal development and testing is done using the official Sun Java JDKs. We have only used the OpenJDK with very basic java fabric applications on RHEL5 and OpenSuSE. Therefore, we do not ensure that it will work with more robust java fabric applications. You would want to use the Sun version.

    Support

  • SOS: Error in Deploying Hello World java application. Please help   6 days 12 hours ago

    Thanks for the update. Let us know if you have any other issues.

  • SOS: Error in Deploying Hello World java application. Please help   6 days 18 hours ago

    Thanks Mark, it's working now!

  • SOS: Error in Deploying Hello World java application. Please help   1 week 12 hours ago

    dellservices,

    You are correct when you say that the install.bat is not being run. When you receive an install pending, manager doesn't think that the requirements for installation are met. Verify whether or not the requirements for installation are met. That sounds easy, but from experience there are a few gotchas. I see that it is requiring Tomcat. Not only is it requiring Tomcat, but you it is requiring that the FAR be assigned the named Tomcat, resulting in a Tomcat.far.

    Please verify:
    1. that a far named Tomcat.far is installed.
    2. that the name of your tomcat far matches the requirement in your HPC far. Your HPC far is looking for a far named Tomcat.far. There are a few tomcat fars swirling around, and some of them are named tomcat, tomcatwin, or tomcatlin. Also, do not confuse the Display name in the Console with with the actual name of the far. For example, my display name is "Apache Tomcat 6" and my File name is tomcatlin.far. Your HPC far may be saying that it doesn't find a Tomcat.far even though you actually have it installed with another name, like tomcatlin.

    My best guess at the moment is that you will need to re-package your HPC far with the name tomcatwin or tomcatlin in the following line:

    <service-app service="Tomcat">

    Does this resolve the issue?

    Thanks,
    Mark

  • SOS: Error in Deploying Hello World java application. Please help   1 week 13 hours ago

    mark wrote:

    Subsequently, you could then create other FARs that install web applications to that tomcat service.

    Hi,

    We are trying to deploy an existing WAR we have to the Tomcat service running on the fabric. We create a FAR by using the folliwing xml :

    <?xml version='1.0' encoding='utf-8'?>
    <far xmlns='http://www.appistry.com/ns/far' 
         name='HPC' 
         version='1.04' 
         display-name='HPC' 
         description='HPC for Windows'>
       <support-files>
          <file name='HPC.war'/>
          <file name='install.bat'/>
       </support-files>
       <service-app service="Tomcat">
          <install>
             <exec executable='install.bat' 
                   output='instout.txt' 
                   error='insterr.txt' 
                   timeout='3 minutes'>
             </exec>
             </install>
          <uninstall>
             <exec executable='echo Do Nothing' 
                   output='uninout.txt' 
                   error='uninerr.txt' 
                   timeout='3 minutes'/>
          </uninstall>
       </service-app>
    </far>

    Our install.bat simply copies the WAR file to the Tomcat webapps folder :

    @echo off
    copy "HPC.war" "C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\HPC.war"

    The WAR file does get copied to the system/fars/ folder on each worker, but does not get copied from there to the Tomcat webapps folder. It is not clear if the install.bat is ever executed.

    In the CloudIQ console, the FAR package shows the status : Installation Pending for all workers.

    Please help! Thanks.

  • Resource Management   1 week 2 days ago

    Hi pradnya,

    For the most part, you cannot directly specify the amount of memory space allocated to an application. If you are using a java application, you can limit the amount of memory java allows you to use. You would do this by changing the java configuration settings in your application configuration file. This will limit the amount of memory usable by your java fabric application.

    You cannot specify the exact CPU which will run an application, but you can limit the number of CPUs that it will utilize by using exclusive tasks. You can also limit how many limit how many tasks of a type are run with our limited tasks. You can also limit the number of CPUs that are utilized by a task using exclusive tasks.

    Also, there may be other task types that allow you to get your goal by a different means.

  • restAPI - Elastic-System-Config-File PUT w/ C#   1 week 5 days ago

    Great! Thanks for the update.

  • restAPI - Elastic-System-Config-File PUT w/ C#   1 week 5 days ago

    It Works! I needed to add the .far to the URI. The MyFar was me trying to make the code generic and easier to read.
    Thanks.

  • restAPI - Elastic-System-Config-File PUT w/ C#   1 week 5 days ago

    Ok, that clears up the first problem. You need to have an extension on the file that you are submitting in the uri. Here is the original line:

    Uri address = new Uri(WorkerIP + "/files/Elastic-System-Config-File");

    Once you resolve that, you will discover another more important issue. The file name provided in the uri must always match the name provided within the contents of the file. Currently, it looks like it is a mismatch of "Elastic-System-Config-File" and "MyFar". That is not supported and will cause issues.

    I suggest that you repackage your far with a descriptive name instead of "MyFar.far". For example, you could name it Elastic_System_Config_File. After you package that xml with that name, it will have created an Elastic_System_Config_File.far file.

    You can then modify your code to the following:

    Uri address = new Uri(WorkerIP + "/files/Elastic_System_Config_File.far");
    ...
    FileStream fs = new FileStream(@"C:\Elastic_System_Config_File.far", FileMode.Open, FileAccess.Read);

    I look forward to your progress after these suggestions.

    Thanks,
    Mark

  • restAPI - Elastic-System-Config-File PUT w/ C#   1 week 5 days ago

    Everything compiles fine. This current iteration of the code throws "The remote server returned an error: (415) Unsupported Media Type.". Using similar code I've been able to get System Info, changed worker running state, and pulled .far files from the Cloud using the Rest API.

  • restAPI - Elastic-System-Config-File PUT w/ C#   1 week 5 days ago

    Hi wnordmann ,

    Is it not building? Is it providing you with an error?

    I will ask around to see if there are C# REST API samples, but my first guess is that you would want to include the port in your uri. The default REST port is 16080. Does that solve the issue?

    Thanks,
    Mark

  • Golden Ticket error: com.appistry.fabric.TransactionException: The request was not attempted. Connect to Task Service failed   4 weeks 1 day ago

    - Fabric installation was last one
    - Java installation JavaIce JDK1.6 (only this availabel from SUSE v11 x64) - this is key guy in issue creation I suppose
    - Java fabric application "Hello word"

  • SOS: Error in Deploying Hello World java application. Please help   4 weeks 5 days ago

    Richa,

    I just confirmed that you would want to make you admin-port within the range of 17000 to 30000 (30000 default). Otherwise, you risk trip over other ports.

    Your request port would then be 1000 higher than your admin-port. (default 31000)

    If you change your admin-port back to 30000, you should be able to submit transactions on 31000.

    Thanks,
    Mark

  • SOS: Error in Deploying Hello World java application. Please help   4 weeks 6 days ago

    Richa & Siva,

    Sorry that I am mixing your posts, but I think it will be easier to explain it together.

    Richa, I should explain that an mcast address does not behave the same way that an ip address does. For example, you can ping an IP address to see if it responds, but you cannot ping and MCAST address. There are mechanisms to test whether or not your system is allowing MCAST, but my first guess is that it is. Otherwise, you would not have successfully gotten the Tomcat deployed as a service.

    Siva made a good observation. The docs that say there is a request-port parameter in the addr.cfg. That parameter no longer exists by default in the addr.cfg.

    I found this in the 4.1 release notes:

    "The request port is no longer configurable in the addr.cfg. If an addr.cfg is deployed containing a 'request-port' parameter in addition to the 'admin-port', it will be discarded. If a 'request-port' is issued in the 'addr.cfg without an 'admin-port', it will be converted to an 'admin-port' by subtracting '1000'."

    I will ask the documentation department to remove any references to request-port being in the addr.cfg.

    The admin-port is used for communication to the fabric for admin purposes. I do not suggest making it 16080. That may confuse you with other web ports. If you don't mind, can you change it back to 30000, and see if you can then submit requests on 31000? If you want to stick with 16080 as the admin port, you may want to try a request port of 17080. That should fit the pattern described in the release notes.

    I think one of these two options will resolve it. I would lean towards changing the admin-port to 30000 though. I will confirm this behavior with development tomorrow because I don't think the release notes go into enough detail.

    As far as the fabric.cfg, the commented out lines are the defaults. You only would need to uncomment them if you planned on altering commented lines.

    Thanks,
    Mark

  • SOS: Error in Deploying Hello World java application. Please help   4 weeks 6 days ago

    Hi Mark
    First of all I am happy to find that the queries are answered promptly with required level of elaboration. Great work!!

    I have few queries in line with what Rich had asked.

    The tutorial says the following:

    " The fabric API needs information listed in the table below to allow it to communicate with the fabric
    fabric request port - The fabric MCAST port must match the request-port entry in the addr.cfg file deployed on to your fabric
    workers. The default is 31000."

    However the only entries in addr.cfg are mcast address and adminport. Is it that if there is no entry fabric_request_port in addr.cfg, the value 31000 be used. I could not find any other file containing 31000.

    Also fabric. cfg has all the parameters commented. Do we need to uncomment/add entries?

    Please let me know.

    Cheers
    Siva

  • SOS: Error in Deploying Hello World java application. Please help   4 weeks 6 days ago

    Hi Mark,

    Thank you very much for replying. :)

    While installing Cloud Iq platform I have used 239.255.0.1 as Mcast address and admin port in 16080. My fabric has two workers in different m/c and able to communicate using the same mcast. I deployed the hello_world java applucation and it is running in both the workers. I used the client program provided in the samples (retained the port 31000) and executed ant target run but getting the following erorr :

    "Exception in thread "main" com.appistry.fabric.TransactionException: The Fabric API did not receive a response from the Fabric service. Mcast address: 239.255.0.1"

    I pinged 239.255.0.1 on command prompt and i m getting request timed out. So mcast is used to communicate b/w workers but not client and fabric. Please let me know what and where am I missing?

    I can't wait to see my java apps run successfully :'( :(

    PS: I have deployed Tomcat and Apache as a service. Thanks for suggestion. :)

  • Cloud enabling package applications and much more..   4 weeks 6 days ago

    Hi Siva,

    I'm glad you're evaluating CloudIQ. Let me see if I can answer your questions....

    1) Where exactly Cloud iq platform belongs? Is it PaaS, SaaS, fusion of both or an enablement service.

    CloudIQ is PaaS. We sit above the infrastructure, and virtualize the cloud applications running above the CloudIQ platform. CloudIQ Manager enables you to deploy (as you saw) pretty much any service onto a cloud of servers. Rather than manage virtual machine or OS images, you need only a basic image with CloudIQ installed and configured. Then you deploy your services and applications through CloudIQ Manager, and it life-cycles them. CloudIQ Engine is a fully-distributed application container. It allows you to create applications from existing business logic (Java, .NET, C/C++, etc.) and run it in the cloud. These two components make up our PaaS offering. but we'll be adding more cloud services in the near future.

    2) I suppose cloud iq can be used to move applications to any clouds (private, AWS etc). Is this (FARs) something similar to vApps in VMWare (using OVF)?

    Yes, CloudIQ can run on virtual and physical infrastructure in private and public clouds.

    Comparing FARs to vApps is a fair start, but they are quite different in implementation. FARs are basically packages of files, along with meta-data and, perhaps, scripts. The meta-data and scripts describe how the files should be installed, uninstalled, and in the case of services, started, stopped, killed, and health monitored. Using this information, CloudIQ Manager can care and feed the services and applications deployed on it. FARs can be used to describe shared libraries, services, configurations for services, and applications for services. Through the FAR meta-data, you describe what versions of these things are required, and what dependencies there are among them. For example, you can create FARs for Apache HTTP server, Ruby, Ruby on Rails, and a Ruby on Rails application. By setting the dependencies among these packages, you can assure that the Ruby on Rails application will not attempt to run unless the correct versions of RoR, Ruby and Apache are present and installed. You can then upgrade the individual components with a single command.

    CloudIQ Engine applications are similar to FARs in that they package your application logic (Java, .NET, C/C++) along with meta-data that describes how you want these code libraries to run on the cloud. By doing this, your plain old java objects (POJOs), plain old .NET objects (PONOs), Spring Beans, etc. inherit extreme scale, reliability, and other cloud features without recoding. By having intimate knowledge of the application code (but not inserting our interfaces into that code), we can truly enable that code in a fully distributed environment like the Cloud.

    3) Can we use cloud iq platform to provide custom package applications (say SAP etc) as a service? Is it possible for setting up a package application (with reqd configuration) in one worker and then deploy this as a service in all the available workers?

    Taking a large architecture such as SAP and deploying it via CloudIQ may not be possible, simply because environments like that typically have static architectures that require static configuration, and do not adapt well to a dynamic environment like the Cloud where servers come and go. However, if a service (or services) can be started, stopped, and health monitored, then typically you could create FARs for them and deploy the environment via CloudIQ Manager. We'd have to look at specific examples of what you are looking to do. I will say that this will become more likely with future versions of CloudIQ Manager.

    4) Consider a scenario where a private cloud has to be created and applications/packages installed in the same have to be exposed as Service (SaaS) for end users to use. In my understanding for creating the private cloud, we need to install cloud iq platform on all the machines/servers that are to be in the cloud.Are there any features in cloud iq that we can tap to manage SaaS implementation (along with user provisioning/subscription)

    In general, I think my answers above touch on the fact that we give you the leverage to deploy and manage your own SaaS services using CloudIQ Manager, and CloudIQ Engine allows you to build scalable, reliable "cloud-native" applications to scale up business logic (SaaS logic specifically in your case). Currently, we do not offer interfaces for authentication, authorization, and self-service provisioning. However, we have partners in production with SaaS implementations. I'll point you to a case study.

    5) Is there any case study/white paper available that says how cloud iq was used to address a specific situation/need. This will be very helpful for us to understand how to effectively use cloud iq.

    Yes. Our resource library has a number of white papers and case studies. From an SaaS perspective, you will be particularly interested in the Presidio Health case study and webinar. Both of those, and the rest can be found here: http://www.appistry.com/resource-library

    I look forward to talking with you more,

    Thanks,

    Guerry

  • building a private cloud   5 weeks 5 hours ago

    I created IT Consulting Company and planning to use it for CloudIQ projects: http://bloberry.net. Can anybody help me to find projects. Company located in Edmonton,AB . Currently I'm free from projects.

  • SOS: Error in Deploying Hello World java application. Please help   5 weeks 10 hours ago

    Richa,

    No problem on the long post. We are happy to help you learn about our software.

    I think you are very close to getting your hello world example running. My guess is that you are pointing to the incorrect port. I noticed that you changed it in your steps. The default is 31000, and it is unlikely that you would change or need to change it to something else. However, I notice that a lot of people believe it should be 30000. The client should not point to 30000, and if you are using the defaults, it should point to 31000.

    As far as answering your questions directly:
    1.) Those are the correct steps. I just think that you just need to change the request port back to 31000. If that port number is an issue, you can change it on your fabric. I can walk you through that if necessary.
    2.) Application configuration files are optional. One is not used in the hello world tutorial. An application configuration file is normally used to change parameters in your fabric application without re-packaging the entire application. This way your class files could read a parameter directly from that file and could be changed more dynamically. (i.e. company_name=appistry). An additional benefit is that you can override some of the general parameters in the fabric.cfg with a parameter for this specific application. (i.e. fabric-jvm-options=-Xrs -Djava.class.path=${FABRIC_HOME}/classes/fabric.jar). Again, this is not required, but may be beneficial when you want to change parameters specifically for this application and not for your other apps.
    3.) Yes, another machine can access the fabric application even if you have not installed the appistry software on it. However, you would need to copy the API to that machine and of course the client binary. Here are the steps:
    a.) Build the client on a machine just as you are doing now.
    b.) Copy the client application that you built and the fabric.jar file to another machine. You should then be able to submit transactions from that machine to your fabric. This is also assuming that your network allows you to do so.

    If you are wanting to install 3rd party services via CloudIQ, you could utilize our manager part of the product. This is somewhat different than a fabric application, but it is similar in the packaging and deployment process. Here is an example that would help you package up Tomcat and deploy it to all of your fabric workers:
    http://www.appistry.com/community/wiki/display/latest/Deploy+Tomcat

    Subsequently, you could then create other FARs that install web applications to that tomcat service. There are many ... many possibilities.

    I hope this helps, and feel free to reply with status and any other questions.

    Thanks,
    Mark

  • Deploying new application on CloudIq Console   5 weeks 2 days ago

    ashwini wrote:
    Tell me how to create a Fabric archive (FAR) definition XML file .
    Which is given as step in 'Deploy An Application'.
    What is the use of XML code given below that.
    Thank you.

    Ashwini,

    The FAR xml has many purposes, but the main purpose is to provide enough information to the fabric_pkg utility so that it can package up the application for deployment.

    Included in the FAR are sections. Each has a different purpose.

    support-files: This section tells you what files are to be included in the package.
    service-app: This tells you that this far is a service-app for another service. The example says "win-service". However, lets use tomcat as another example. You could deploy tomcat as a service and then also deploy other web apps as service-apps that run under tomcat.
    install: This the command that will be run by the fabric to install your service. If this command needs administrative privelages, you will need to add elevated rights to it. Please refer to the Rights attribute section on that page if needed. Note that there are output files and error file options to help you diagnose problems that may occur during the execution of this command. Also, you can put in a timeout. If your installation command needs to have arguments, you can provide those using the arg value tag.
    uninstall: This behaves the same as the install, but it is run when you delete the service.

    If there is a specific section or step that you are having issues with, please note it and I will be glad to help.

    Thanks,
    Mark

  • Deploying new application on CloudIq Console   5 weeks 2 days ago

    pradnya wrote:
    I am trying to deploy apache on cloud iq platform- on windows.
    I was able to deploy it using-'grab and go'; method.
    but when i tried to follow the detailed steps,
    i downloaded the apache setup.
    But i am not getting the following steps- 3,4,6,7,8.
    CAN YOU PLEASE HELP ME TO MAKE IT CLEAR?

    Pradnya,

    I will go through each of the steps mentioned. I hope that I can clear some things up for you.

    Quote:

    3) Review and update the Fabric Archive (FAR) Definition XML file ('apachewin.xml') that will direct the installation and operation of the
    Apache service:

    For this step, you need to change the xml for the correct file name of Apache that you have. In our example, we downloaded "apache_2.2.11-win32-x86-no_ssl.msi"; however, there is likely another version of apache released since this example was created. You would need to change the following line to reflect the different file name of the version of apache that you are installing:

    Quote:

    4) Update the Apache configuration file, 'httpd.conf':
    Set the listening port, as appropriate:

    If you are installing only one web service, this may not be necessary. This is an apache file that allows you to change the ports for which it is listening. If you have multiple web services running, you would want to change this so the port that you are using does not conflict with other web services.

    Quote:

    6) Review and update the 'install.bat' (as appropriate). The example will install the service quietly, update the Apache configuration file
    and copy the 'index.html':

    Similar to step 3, there is a file name that is included in the install.bat file. In our example, it executes "apache_2.2.11-win32-x86-no_ssl.msi" in quiet mode. You will want to change the name of the file to whatever apache file you have downloaded. If the path names are different, you may need to change that as well.

    Quote:

    7) Review the 'query.bat' (see Query Elements for more information), which will allow the Fabric to report on the state of the Apache
    service:

    You probably do not have to change anything for this step. This query.bat is what is run by the Cloud IQ to determine the state of the service. In this case, the apache service.

    Quote:

    8) Review and update the 'uninstall.bat', which will be invoked if the service is deleted or if a newer version is deployed:

    Again, you probably just need to change the file name if it is different than the example.

    Another thing to watch out for... If you have already deployed a version of apache to your fabric, you may need to update the version number in the apachewin.xml file and repeat step 9 and 10. Here is the line that includes the version number that you would change:
    version="1.05"

    I hope this helps. If you receive a specific error on one of these steps, feel free to post it and I would be happy to help.

    Thanks,
    Mark

  • Deploying new application on CloudIq Console   5 weeks 4 days ago

    Tell me how to create a Fabric archive (FAR) definition XML file .
    Which is given as step in 'Deploy An Application'.
    What is the use of XML code given below that.
    Thank you.

  • Deploying new application on CloudIq Console   5 weeks 4 days ago

    I am trying to deploy apache on cloud iq platform- on windows.
    I was able to deploy it using-'grab and go'; method.

    but when i tried to follow the detailed steps,
    i downloaded the apache setup.
    But i am not getting the following steps- 3,4,6,7,8.
    CAN YOU PLEASE HELP ME TO MAKE IT CLEAR?

    1) Download Appistry's example Apache service files. Create a directory to contain the files you will be packaging: for example 'apachewin

    2) Download the latest version of Apache (for example, 'apache_2.2.11-win32-x86-no_ssl.msi').

    3) Review and update the Fabric Archive (FAR) Definition XML file ('apachewin.xml') that will direct the installation and operation of the
    Apache service:

    4) Update the Apache configuration file, 'httpd.conf':
    Set the listening port, as appropriate:

    6) Review and update the 'install.bat' (as appropriate). The example will install the service quietly, update the Apache configuration file
    and copy the 'index.html':

    7) Review the 'query.bat' (see Query Elements for more information), which will allow the Fabric to report on the state of the Apache
    service:

    8) Review and update the 'uninstall.bat', which will be invoked if the service is deleted or if a newer version is deployed:

    9) Use the fabric_pkg command to package the FAR:

    10) Deploy the newly created 'apachewin.far' to the fabric using the fabric_ctl deploy command:

    THANK YOU.

  • Deploying new application on CloudIq Console   5 weeks 5 days ago

    A sample fabric application is a packaged into a .fabric file. Did you get that far into the tutorial?

    If so, you would type the following to deploy the application if you were using the defaults:

    fabric_ctl -d239.255.0.1 -ufabric-admin/fabric-admin deploy hello_world_java_app.fabric

    You would have to change that file name accordingly. If it says something like failed to locate fabric, then you need to find out if your fabric is running and getting heartbeats.

    What messages are you getting?

    Thanks,
    Mark