satis egitimisatis egitimitengda.pro

Open@Blog

Discussion on the state of cloud computing and open source software that helps build, manage, and deliver everything-as-a-service.

  • Home
    Home This is where you can find all the blog posts throughout the site.
  • Categories
    Categories Displays a list of categories from this blog.
  • Tags
    Tags Displays a list of tags that has been used in the blog.
  • Bloggers
    Bloggers Search for your favorite blogger from this site.
  • Login
Subscribe to this list via RSS Blog posts tagged in Apache CloudStack

Gstack, a GCE compatible interface to CloudStack

Google Compute Engine (GCE) is the Google public cloud. In december 2013, Google announced the General Availability (GA) of GCE. With AWS and Microsoft Azure, it is one of the three leading public clouds in the market. Apache CloudStack now has a brand new GCE compatible interface (Gstack) that lets users use the GCE clients (i.e gcloud and gcutil) to access their CloudStack cloud. This has been made possible through the Google Summer of Code program.

Last summer Ian Duffy, a student from Dublin City University participated in GSoC through the Apache Software Foundation (ASF) and worked on a LDAP plugin to CloudStack. He did such a great job that he finished early and was made an Apache CloudStack committer. Since he was done with his original GSoC project I encouraged him to take on a new one :), he brought in a friend for the ride: Darren Brogan. Both of them worked for fun on the GCE interface to CloudStack and learned Python doing so.

They remained engaged with the CloudStack community and has a third year project worked on an Amazon EC2 interface to CloudStack using what they learned from the GCE interface. They got an A :). Since they loved it so much, Darren applied to the GSoC program and proposed to go back to Gstack, improve it, extend the unittests and make it compatible with the GCE v1 API.

Technically, Gstack is a Python Flask application that provides a REST API compatible with the GCE API and forwards the requests to the corresponding CloudStack API. The source is available on GitHub and the binary is downloadable via PyPi. Let's show you how to use it.

Installation and Configuration of Gstack

You can grab the Gstack binary package from Pypi using pip in one single command.

...
Hits: 3036
Rate this blog entry:
0
Continue reading Comments

The leading provider of green cloud solutions brings users flexibility, customization, and productivity with Apache CloudStack

Founded in 2010, GreenQloud began their journey with the founders of cloud.com by building a prototype platform for a public cloud. GreenQloud chose to build their platform on top of CloudStack because they found many benefits from a fully open source stack to which they could also contribute. GreenQloud was one of the earliest contributors, and is responsible for CloudStack's Amazon EC2™ compatibility.

Today, GreenQloud offers a full cloud infrastructure software stack for private, public and hybrid IaaS compute and storage all the while leading the path to green IT and sustainability. GreenQloud is a cloud solutions company offering standalone private cloud, hybrid cloud and Truly Green™ public cloud computing virtual servers and data storage (IaaS) powered by renewable energy. GreenQloud's cloud services, feature an easy-to-use, self-service web console and advanced, compatible API controls for full automation of IT services.

With the addition of its newest product, QStack, the company now offers cloud solutions for the full market, accelerating the market adoption of cleaner cloud technology, by addressing the needs and concerns of companies who have not yet adopted public cloud computing due to regulatory compliance or investment commitments.

The Challenge: Providing Affordable and Sustainable Cloud Solutions to Customers

...
Hits: 6302
Rate this blog entry:
0
Continue reading Comments

Congrats again to last year's winners of the pure geeky gold prizes! We had three lucky winners who proudly took home Google Chromebook Pixels. Best of luck goes to those who play in the open cloud poker tournament this year! The winners this year will take home:

1st prize: Samsung Chromebook 2 (13-inch)

2nd prize: Samsung Chromebook 2 (11.6-inch)

3rd prize: Samsung Chromebook 2 (11.6-inch)

9466220355 7cc7b29a3b b

...
Hits: 2713
Rate this blog entry:
Continue reading Comments

Eutester with CloudStack

Posted by on in CloudStack Tips

Eutester

An interesting tool based on Boto is Eutester it was created by the folks at Eucalyptus to provide a framework to create functional tests for AWS zones and Eucalyptus based clouds. What is interesting with eutester is that it could be used to compare the AWS compatibility of multiple clouds. Therefore the interesting question that you are going to ask is: Can we use Eutester with CloudStack ? And the answer is Yes. Certainly it could use more work but the basic functionality is there.

Install eutester with:

pip install eutester

Then start Python/iPython interactive shell or write a script that will import ec2ops and create a connection object to your AWS EC2 compatible endpoint. For example, using ec2stack:

    #!/usr/bin/env python

    from eucaops import ec2ops
    from IPython.terminal.embed import InteractiveShellEmbed

    accesskey="my api key"
    secretkey="my secret key"

    conn.ec2ops.EC2ops(endpoint="localhost",
                   aws_access_key_id=apikey,
                   aws_secret_access_key=secretkey,
                   is_secure=False,
                   port=5000,
                   path="/",
                   APIVersion="2014-02-01")

    ipshell = InteractiveShellEmbed(banner1="Hello Cloud Shell !!")
    ipshell()

Eutester at the time of this writing has 145 methods. Only the methods available through the CloudStack AWS EC2 interface will be availble. For example, get_zones and get_instances would return:

In [3]: conn.get_zones()
Out[3]: [u'ch-gva-2']

In [4]: conn.get_instances()
[2014-05-21 05:39:45,094] [EUTESTER] [DEBUG]: 
--->(ec2ops.py:3164)Starting method: get_instances(self, state=None, 
     idstring=None, reservation=None, rootdevtype=None, zone=None,
     key=None, pubip=None, privip=None, ramdisk=None, kernel=None,
     image_id=None, filters=None)
Out[4]: 
[Instance:5a426582-3aa3-49e0-be3f-d2f9f1591f1f,
 Instance:95ee8534-b171-4f79-9e23-be48bf1a5af6,
 Instance:f18275f1-222b-455d-b352-3e7b2d3ffe9d,
 Instance:0ea66049-9399-4763-8d2f-b96e9228e413,
 Instance:7b2f63d6-66ce-4e1b-a481-e5f347f7e559,
 Instance:46d01dfd-dc81-4459-a4a8-885f05a87d07,
 Instance:7158726e-e76c-4cd4-8207-1ed50cc4d77a,
 Instance:14a0ce40-0ec7-4cf0-b908-0434271369f6]

This example shows that I am running eight instances at the moment in a zone called ch-gva-2, our familiar exoscale. Selecting one of these instance objects will give you access to all the methods available for instances. You could also list, delete and create keypairs. List, delete and create security groups etc.

...
Hits: 3465
Rate this blog entry:
Continue reading Comments

Quite a few years ago I made a rather nice living coding things up. Some were big projects used in regulated industries, and others a bit more mundane, but in all cases I tried to ensure confusion over what the point of the project was could be minimized. After all, the last thing I wanted was a prospective user or partner investing in something which wouldn't meet their needs.

Fast-forward to today, and as the XenServer evangelist I want to accomplish the same task, but scope is a bit broader. I want people to be using XenServer, and I want many tens of thousands of them doing so. By the same token, I also want those same users to know they are using XenServer, and not something else. After all, its equally bad if someone thinks they're using XenServer when they aren't, or are using something different when they are in fact using XenServer.

A perfect case in point is the confusion over what "Xen" and "XenServer" are. For years I've heard people who want XenServer referring to it as "Xen" and occasionally as "Xen Server". While many of those people aren't technical, and for them the distinction is largely irrelevant, the fact of the matter is the distinction does matter. For example, if someone is working on a project which they wish to integrate with XenServer, it does them no good to see references to "Xen" all over XenServer content, or to look at examples which reference "Xen"; even if the actual code is for XenServer and not "Xen". Even more significant is that, with the move of the "Xen" hypervisor to the Linux Foundation last year, what was once known as the "Xen" hypervisor has now become the Xen Project hypervisor.

All of which gets me to Apache CloudStack. Apache CloudStack is a wonderful solution for anyone looking to get a cloud up and running quickly, particularly those looking to have multiple hypervisors in their cloud and managed from a single console. Unfortunately, Apache CloudStack is also a perfect example of the problem I'm highlighting here. Within the UI, documentation and code, the term "Xen" and "XenServer" are used interchangeably, when in reality Apache CloudStack only supports XenServer; or more precisely XAPI based toolstacks for the Xen Project hypervisor. To resolve this problem, and to pave the way for the Xen Project hypervisor to become a full citizen of Apache CloudStack, I put forth a proposal to distinguish and disambiguate "Xen" and "XenServer". The design document can be found on the CloudStack wiki. To give an example of the cost of resolving these things after the fact; the initial patch consisted of over 17,000 lines, subsequent patches will be needed following extensive testing, all with the result of no new functionality. If you're interested in following the progress of this activity, please do so on the CloudStack mailing lists, and on the wiki.

The point I hope I'm making here is that when there is the potential for confusion, someone will eventually become confused. If you are working on something which references "Xen" or "XenServer", I hope you'll take a few minutes to see if you're using the right references and if not plan on clarifying things for your customers and users. To assist, please refer to this handy-dandy list:

  • "Xen" is a bare metal hypervisor which since April 2013 is a Linux Foundation Collaborative Project and has been renamed as the "Xen Project hypervisor". You can find more information about Xen Project at http://xenproject.org. Importantly, while "Xen" was the name Citrix used for the hypervisor, when "Xen" moved to the Linux Foundation, Citrix granted the Linux Foundation the limited rights to use the word "Xen" as part of the "Xen Project".
  • Citrix continues to use the "Xen" mark in connection with a variety of products such as XenApp and XenDesktop, so if you are working on a project with integration into other Citrix products, and are referring to them as "Xen", you risk further confusion with the hypervisor work occurring with both XenServer and the Xen Project.
  • XAPI, or XenAPI, is a toolstack for use with the Xen Project hypervisor and is a sub-project under Xen Project at the Linux Foundation. You can find more information about XAPI at http://xenproject.org/developers/teams/xapi.html
  • XenServer is a packaged virtualization solution from Citrix which in June 2013 was made completely open source. XenServer uses the Xen Project hypervisor and API support is provided via XAPI. Commercial support for XenServer is available from Citrix, and open source activities can be found on xenserver.org.
  • XCP, or Xen Cloud Platform, was a previous attempt at making XenServer open-source. With XenServer becoming open source in June of 2013, XCP development transitioned to XenServer.       
Hits: 14418
Rate this blog entry:
Continue reading Comments

Open@Citrix

Citrix supports the open source community via developer support and evangeslism. We have a number of developers and evangelists that participate actively in the open source community in Apache Cloudstack, OpenDaylight, Xen Project and XenServer. We also conduct educational activities via the Build A Cloud events held all over the world. 

Connect