Modified: libcloud/site/trunk/generated/blog/page/7/index.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/7/index.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/page/7/index.html (original) +++ libcloud/site/trunk/generated/blog/page/7/index.html Wed Jun 2 19:16:41 2021 @@ -97,6 +97,129 @@ <div class="post"> + <h2><a href="/blog/2016/10/14/libcloud-1-3-0-released.html">Libcloud 1.3.0 released</a></h2> + + + + + + <span class="post-date-author">By Anthony Shaw on Oct 14, 2016</span> + + <div class="post-content"> + <p>We are pleased to announce the release of Libcloud 1.3.0.</p> + +<p>This release brings many new features, improvements, bug-fixes, and drivers.</p> + +<h3>Important changes</h3> + +<ul> +<li>RunAbove driver is now the OVH cloud driver because of changes in the +platform. Users will get a deprecated error message and pointed to the +website for more information.</li> +<li>Fixed support for SLES/OpenSUSE 12, now checks the default certificate +path (does not impact users using certifi).</li> +<li>DigitalOcean v1 API has been deprecated in favour of the new 2.0 API.</li> +</ul> + +<h3>Release highlights</h3> + +<h4>Rancher Driver</h4> + +<p>Mario Loria contributed a full Rancher driver for our container abstraction +interface. Documentation is available with examples of usage, you can use +the driver to deploy containers, services, stacks or operate and maintain +existing deployments! Thanks Mario.</p> + +<div class="highlight"><pre><code class="python"><span class="kn">from</span> <span class="nn">libcloud.container.types</span> <span class="kn">import</span> <span class="n">Provider</span> +<span class="kn">from</span> <span class="nn">libcloud.container.providers</span> <span class="kn">import</span> <span class="n">get_driver</span> +<span class="kn">from</span> <span class="nn">libcloud.container.base</span> <span class="kn">import</span> <span class="n">ContainerImage</span> + +<span class="n">driver</span> <span class="o">=</span> <span class="n">get_driver</span><span class="p">(</span><span class="n">Provider</span><span class="o">.</span><span class="n">RANCHER</span><span class="p">)</span> + +<span class="n">connection</span> <span class="o">=</span> <span class="n">driver</span><span class="p">(</span><span class="s">"MYRANCHERACCESSKEY"</span><span class="p">,</span> <span class="s">"MYRANCHERSECRETKEY"</span><span class="p">,</span> + <span class="n">host</span><span class="o">=</span><span class="s">"17.23.66.4"</span><span class="p">,</span> <span class="n">port</span><span class="o">=</span><span class="mi">443</span><span class="p">)</span> + +<span class="n">image</span> <span class="o">=</span> <span class="n">ContainerImage</span><span class="p">(</span><span class="s">"hastebin"</span><span class="p">,</span> <span class="s">"hastebin"</span><span class="p">,</span> <span class="s">"rlister/hastebin"</span><span class="p">,</span> <span class="s">"latest"</span><span class="p">,</span> + <span class="n">driver</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span> + +<span class="n">new_service</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">ex_deploy_service</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="s">"excitingservice"</span><span class="p">,</span> <span class="n">image</span><span class="o">=</span><span class="n">image</span><span class="p">,</span> + <span class="n">environmentid</span><span class="o">=</span><span class="s">"1e2"</span><span class="p">,</span> + <span class="n">environment</span><span class="o">=</span><span class="p">{</span> + <span class="s">"STORAGE_TYPE"</span><span class="p">:</span> <span class="s">"file"</span> + <span class="p">})</span> +</code></pre></div> + +<h4>New API</h4> + +<p>As well as the direct <code>get_driver API</code>, there is now a short-hand API for +users to choose.</p> + +<div class="highlight"><pre><code class="python"><span class="kn">import</span> <span class="nn">libcloud</span> + +<span class="n">cls</span> <span class="o">=</span> <span class="n">libcloud</span><span class="o">.</span><span class="n">get_driver</span><span class="p">(</span><span class="n">libcloud</span><span class="o">.</span><span class="n">DriverType</span><span class="o">.</span><span class="n">COMPUTE</span><span class="p">,</span> <span class="n">libcloud</span><span class="o">.</span><span class="n">DriverType</span><span class="o">.</span><span class="n">COMPUTE</span><span class="o">.</span><span class="n">RACKSPACE</span><span class="p">)</span> +</code></pre></div> + +<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p> + +<h3>Special thank you</h3> + +<p>I would like to wish a special thank you to all of our community contributors +for their ongoing support to the project.</p> + +<h3>Download</h3> + +<p>The release can can be downloaded from +<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p> + +<pre> +pip install apache-libcloud==1.3.0 +</pre> + +<h3>Upgrading</h3> + +<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p> + +<pre> +pip install --upgrade apache-libcloud==1.3.0 +</pre> + +<h3>Upgrade notes</h3> + +<p>A page which describes backward incompatible or semi-incompatible +changes and how to preserve the old behavior when this is possible +can be found at <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p> + +<h3>Documentation</h3> + +<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a></p> + +<h3>Bugs / Issues</h3> + +<p>If you find any bug or issue, please report it on our issue tracker +<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>. +Don't forget to attach an example and / or test which reproduces your +problem.</p> + +<h3>Thanks</h3> + +<p>Thanks to everyone who contributed and made this release possible! Full +list of people who contributed to this release can be found in the +<a href="https://libcloud.readthedocs.org/en/latest/changelog.html">CHANGES file</a>.</p> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2016/09/23/libcloud-1-2-1-released.html">Libcloud 1.2.1 released</a></h2> @@ -897,111 +1020,6 @@ list of people who contributed to this r - - <div class="post"> - - <h2><a href="/blog/2016/04/06/requests-support.html">Experimental support for the requests package</a></h2> - - - - - - <span class="post-date-author">By Anthony Shaw on Apr 06, 2016</span> - - <div class="post-content"> - <h2>Background</h2> - -<p>I've just pushed a branch of the latest version of libcloud using the popular <code>requests</code> package by Kenneth Reitz instead of our home-rolled HTTP client library.</p> - -<p>This article is for both users and developers of libcloud. If you want to give feedback, please join the developer mailing list.</p> - -<h2>Why?</h2> - -<ul> -<li>requests is the defacto standard - it would be in the standard library but agreed against to allow it to develop faster https://github.com/kennethreitz/requests/issues/2424</li> -<li>it works with python 2.6->3.5</li> -<li>Our SSL experience has a lot to be desired for Windows users, having to download the CA cert package and setting environment variables just to get SSL working</li> -<li>Developers can use requests_mock for deeper integration testing</li> -<li>less code to maintain</li> -<li>the role of libcloud is for cloud abstraction, we provide no value in writing and maintaining our own HTTP client library</li> -</ul> - -<h2>Benefits of requests</h2> - -<p>There are a number of benefits to having a requests package</p> - -<ul> -<li>The client library code is smaller, leaner and simpler.</li> -<li>Requests has built in decompression support, we no longer need to support this</li> -<li>Requests has built in RAW download, upload support, helping with our storage drivers</li> -</ul> - -<h2>Implications of the change</h2> - -<ul> -<li>There are no longer 2 classes (<code>LibcloudHTTPSConnection</code> and <code>LibcloudHTTPConnection</code>) to be provided to each driver, they are now 1 class - <code>LibcloudConnection</code>. You probably won't notice this because it is a property of the <code>Connection</code> class, but -if you are developing or extending functionality then it is implicated.</li> -<li>Unit tests will look slightly different (see below)</li> -<li>This change broke 4200 unit tests (out of 6340)! I've since fixed them all since they were coupled to the original implementation, but now I don't know if all of tests are valid.</li> -</ul> - -<h2>Testing with requests</h2> - -<p>Unit tests that were written like this:</p> - -<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="k">class</span> <span class="nc">DigitalOceanTests</span><span class="p">(</span><span class="n">LibcloudTestCase</span><span class="p">):</span> - - <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">DigitalOceanBaseDriver</span><span class="o">.</span><span class="n">connectionCls</span><span class="o">.</span><span class="n">conn_classes</span> <span class="o">=</span> \ - <span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="n">DigitalOceanMockHttp</span><span class="p">)</span> - <span class="n">DigitalOceanMockHttp</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">driver</span> <span class="o">=</span> <span class="n">DigitalOceanBaseDriver</span><span class="p">(</span><span class="o">*</span><span class="n">DIGITALOCEAN_v1_PARAMS</span><span class="p">)</span> -</code></pre></div> - -<p>Because of the change have been modified to (I updated all of them - so this is just for future reference)</p> - -<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="k">class</span> <span class="nc">DigitalOceanTests</span><span class="p">(</span><span class="n">LibcloudTestCase</span><span class="p">):</span> - - <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> - <span class="n">DigitalOceanBaseDriver</span><span class="o">.</span><span class="n">connectionCls</span><span class="o">.</span><span class="n">conn_class</span> <span class="o">=</span> <span class="n">DigitalOceanMockHttp</span> - <span class="n">DigitalOceanMockHttp</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="bp">None</span> - <span class="bp">self</span><span class="o">.</span><span class="n">driver</span> <span class="o">=</span> <span class="n">DigitalOceanBaseDriver</span><span class="p">(</span><span class="o">*</span><span class="n">DIGITALOCEAN_v1_PARAMS</span><span class="p">)</span> -</code></pre></div> - -<h1>Check it out!</h1> - -<p>The package is on my personal apache site, you can download it and install it in a virtualenv for testing.</p> - -<p><code>pip install -e http://people.apache.org/~anthonyshaw/libcloud/1.0.0-rc2-requests/apache-libcloud-1.0.0-rc2-requests.zip@feature#egg=apache-libcloud</code></p> - -<p>The hashes are my <a href="http://people.apache.org/%7Eanthonyshaw/libcloud/1.0.0-rc2-requests/">apache space</a></p> - -<p>Have a look at the <a href="https://github.com/apache/libcloud/pull/728/files">PR and the change set</a> for a list of changes</p> - -<h1>What might break?</h1> - -<p>What I'm really looking for is for users of Libcloud to take 15 minutes, an existing (working) libcloud script, install this package in a virtualenv and just validate -that there are no regression bugs with this change.</p> - -<p>I'm particularly sceptical about the storage drivers.</p> - -<p>Once we have enough community feedback, we will propose a vote to merge this into trunk for future release.</p> - -<h2>Credit</h2> - -<p>Credit to dz0ny on IRC for contributing some of the requests patch.</p> - - </div> - - <div class="row section post-meta"> - <div class="col-md-12 post-tags"> - <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/API.html" rel="tag">API</a>, <a href="/blog/tags/tutorial.html" rel="tag">tutorial</a></p> - </div> - </div> -</div> - - - </div> <p class="navigation"> @@ -1026,7 +1044,7 @@ that there are no regression bugs with t <div class="col-lg-3 col-lg-offset-1"> <h2>Archive</h1> <ul> - <li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a hr ef="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/bl og/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/ 2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> + <li> <a href="/blog/archives/2021/06/"> June 2021</a> (1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a hre f="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/a rchives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013 /12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> Feb ruary 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> </ul> </div> </div>
Modified: libcloud/site/trunk/generated/blog/page/8/index.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/8/index.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/page/8/index.html (original) +++ libcloud/site/trunk/generated/blog/page/8/index.html Wed Jun 2 19:16:41 2021 @@ -97,6 +97,111 @@ <div class="post"> + <h2><a href="/blog/2016/04/06/requests-support.html">Experimental support for the requests package</a></h2> + + + + + + <span class="post-date-author">By Anthony Shaw on Apr 06, 2016</span> + + <div class="post-content"> + <h2>Background</h2> + +<p>I've just pushed a branch of the latest version of libcloud using the popular <code>requests</code> package by Kenneth Reitz instead of our home-rolled HTTP client library.</p> + +<p>This article is for both users and developers of libcloud. If you want to give feedback, please join the developer mailing list.</p> + +<h2>Why?</h2> + +<ul> +<li>requests is the defacto standard - it would be in the standard library but agreed against to allow it to develop faster https://github.com/kennethreitz/requests/issues/2424</li> +<li>it works with python 2.6->3.5</li> +<li>Our SSL experience has a lot to be desired for Windows users, having to download the CA cert package and setting environment variables just to get SSL working</li> +<li>Developers can use requests_mock for deeper integration testing</li> +<li>less code to maintain</li> +<li>the role of libcloud is for cloud abstraction, we provide no value in writing and maintaining our own HTTP client library</li> +</ul> + +<h2>Benefits of requests</h2> + +<p>There are a number of benefits to having a requests package</p> + +<ul> +<li>The client library code is smaller, leaner and simpler.</li> +<li>Requests has built in decompression support, we no longer need to support this</li> +<li>Requests has built in RAW download, upload support, helping with our storage drivers</li> +</ul> + +<h2>Implications of the change</h2> + +<ul> +<li>There are no longer 2 classes (<code>LibcloudHTTPSConnection</code> and <code>LibcloudHTTPConnection</code>) to be provided to each driver, they are now 1 class - <code>LibcloudConnection</code>. You probably won't notice this because it is a property of the <code>Connection</code> class, but +if you are developing or extending functionality then it is implicated.</li> +<li>Unit tests will look slightly different (see below)</li> +<li>This change broke 4200 unit tests (out of 6340)! I've since fixed them all since they were coupled to the original implementation, but now I don't know if all of tests are valid.</li> +</ul> + +<h2>Testing with requests</h2> + +<p>Unit tests that were written like this:</p> + +<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="k">class</span> <span class="nc">DigitalOceanTests</span><span class="p">(</span><span class="n">LibcloudTestCase</span><span class="p">):</span> + + <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="n">DigitalOceanBaseDriver</span><span class="o">.</span><span class="n">connectionCls</span><span class="o">.</span><span class="n">conn_classes</span> <span class="o">=</span> \ + <span class="p">(</span><span class="bp">None</span><span class="p">,</span> <span class="n">DigitalOceanMockHttp</span><span class="p">)</span> + <span class="n">DigitalOceanMockHttp</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="bp">None</span> + <span class="bp">self</span><span class="o">.</span><span class="n">driver</span> <span class="o">=</span> <span class="n">DigitalOceanBaseDriver</span><span class="p">(</span><span class="o">*</span><span class="n">DIGITALOCEAN_v1_PARAMS</span><span class="p">)</span> +</code></pre></div> + +<p>Because of the change have been modified to (I updated all of them - so this is just for future reference)</p> + +<div class="highlight"><pre><code class="python language-python" data-lang="python"><span class="k">class</span> <span class="nc">DigitalOceanTests</span><span class="p">(</span><span class="n">LibcloudTestCase</span><span class="p">):</span> + + <span class="k">def</span> <span class="nf">setUp</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> + <span class="n">DigitalOceanBaseDriver</span><span class="o">.</span><span class="n">connectionCls</span><span class="o">.</span><span class="n">conn_class</span> <span class="o">=</span> <span class="n">DigitalOceanMockHttp</span> + <span class="n">DigitalOceanMockHttp</span><span class="o">.</span><span class="n">type</span> <span class="o">=</span> <span class="bp">None</span> + <span class="bp">self</span><span class="o">.</span><span class="n">driver</span> <span class="o">=</span> <span class="n">DigitalOceanBaseDriver</span><span class="p">(</span><span class="o">*</span><span class="n">DIGITALOCEAN_v1_PARAMS</span><span class="p">)</span> +</code></pre></div> + +<h1>Check it out!</h1> + +<p>The package is on my personal apache site, you can download it and install it in a virtualenv for testing.</p> + +<p><code>pip install -e http://people.apache.org/~anthonyshaw/libcloud/1.0.0-rc2-requests/apache-libcloud-1.0.0-rc2-requests.zip@feature#egg=apache-libcloud</code></p> + +<p>The hashes are my <a href="http://people.apache.org/%7Eanthonyshaw/libcloud/1.0.0-rc2-requests/">apache space</a></p> + +<p>Have a look at the <a href="https://github.com/apache/libcloud/pull/728/files">PR and the change set</a> for a list of changes</p> + +<h1>What might break?</h1> + +<p>What I'm really looking for is for users of Libcloud to take 15 minutes, an existing (working) libcloud script, install this package in a virtualenv and just validate +that there are no regression bugs with this change.</p> + +<p>I'm particularly sceptical about the storage drivers.</p> + +<p>Once we have enough community feedback, we will propose a vote to merge this into trunk for future release.</p> + +<h2>Credit</h2> + +<p>Credit to dz0ny on IRC for contributing some of the requests patch.</p> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/API.html" rel="tag">API</a>, <a href="/blog/tags/tutorial.html" rel="tag">tutorial</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2016/02/16/new-drivers-deprecated-drivers.html">New compute drivers and deprecated drivers in 1.0</a></h2> @@ -650,85 +755,6 @@ list of people who contributed to this r - - <div class="post"> - - <h2><a href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 released</a></h2> - - - - - - <span class="post-date-author">By Eric Johnson on Jan 19, 2016</span> - - <div class="post-content"> - <p>We are pleased to announce the release of Libcloud 0.20.1.</p> - -<p>This is a bug-fix release in the 0.20 series.</p> - -<h3>Release highlights</h3> - -<ul> -<li>Allow for old and new style service accounts for GCE driver</li> -<li>Fix syntax error with DimensionDataStatus object</li> -<li>Fix bug in public IP addition command for DimensionData driver</li> -<li>Fix error with proxy_url with vCloud Compute driver.</li> -<li>Fix with hasattr for Rackspace DNS driver.</li> -</ul> - -<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p> - -<h3>Download</h3> - -<p>The release can can be downloaded from -<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p> - -<pre> -pip install apache-libcloud==0.20.1 -</pre> - -<h3>Upgrading</h3> - -<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p> - -<pre> -pip install --upgrade apache-libcloud==0.20.1 -</pre> - -<h3>Upgrade notes</h3> - -<p>A page which describes backward incompatible or semi-incompatible -changes and how to preserve the old behavior when this is possible -can be found at <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p> - -<h3>Documentation</h3> - -<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a></p> - -<h3>Bugs / Issues</h3> - -<p>If you find any bug or issue, please report it on our issue tracker -<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>. -Don't forget to attach an example and / or test which reproduces your -problem.</p> - -<h3>Thanks</h3> - -<p>Thanks to everyone who contributed and made this release possible! Full -list of people who contributed to this release can be found in the -<a href="https://libcloud.readthedocs.org/en/latest/changelog.html">CHANGES file</a>.</p> - - </div> - - <div class="row section post-meta"> - <div class="col-md-12 post-tags"> - <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p> - </div> - </div> -</div> - - - </div> <p class="navigation"> @@ -753,7 +779,7 @@ list of people who contributed to this r <div class="col-lg-3 col-lg-offset-1"> <h2>Archive</h1> <ul> - <li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a hr ef="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/bl og/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/ 2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> + <li> <a href="/blog/archives/2021/06/"> June 2021</a> (1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a hre f="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/a rchives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013 /12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> Feb ruary 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> </ul> </div> </div> Modified: libcloud/site/trunk/generated/blog/page/9/index.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/page/9/index.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/page/9/index.html (original) +++ libcloud/site/trunk/generated/blog/page/9/index.html Wed Jun 2 19:16:41 2021 @@ -97,6 +97,85 @@ <div class="post"> + <h2><a href="/blog/2016/01/19/libcloud-0-20-1-released.html">Libcloud 0.20.1 released</a></h2> + + + + + + <span class="post-date-author">By Eric Johnson on Jan 19, 2016</span> + + <div class="post-content"> + <p>We are pleased to announce the release of Libcloud 0.20.1.</p> + +<p>This is a bug-fix release in the 0.20 series.</p> + +<h3>Release highlights</h3> + +<ul> +<li>Allow for old and new style service accounts for GCE driver</li> +<li>Fix syntax error with DimensionDataStatus object</li> +<li>Fix bug in public IP addition command for DimensionData driver</li> +<li>Fix error with proxy_url with vCloud Compute driver.</li> +<li>Fix with hasattr for Rackspace DNS driver.</li> +</ul> + +<p>Full change log can be found at <a href="https://libcloud.readthedocs.org/en/latest/changelog.html">here</a>.</p> + +<h3>Download</h3> + +<p>The release can can be downloaded from +<a href="https://libcloud.apache.org/downloads.html">https://libcloud.apache.org/downloads.html</a> or installed using pip:</p> + +<pre> +pip install apache-libcloud==0.20.1 +</pre> + +<h3>Upgrading</h3> + +<p>If you have installed Libcloud using pip you can also use it to upgrade it:</p> + +<pre> +pip install --upgrade apache-libcloud==0.20.1 +</pre> + +<h3>Upgrade notes</h3> + +<p>A page which describes backward incompatible or semi-incompatible +changes and how to preserve the old behavior when this is possible +can be found at <a href="https://libcloud.readthedocs.org/en/latest/upgrade_notes.html">https://libcloud.readthedocs.org/en/latest/upgrade_notes.html</a></p> + +<h3>Documentation</h3> + +<p>Regular and API documentation is available at <a href="https://libcloud.readthedocs.org/en/latest/">https://libcloud.readthedocs.org/en/latest/</a></p> + +<h3>Bugs / Issues</h3> + +<p>If you find any bug or issue, please report it on our issue tracker +<a href="https://issues.apache.org/jira/browse/LIBCLOUD">https://issues.apache.org/jira/browse/LIBCLOUD</a>. +Don't forget to attach an example and / or test which reproduces your +problem.</p> + +<h3>Thanks</h3> + +<p>Thanks to everyone who contributed and made this release possible! Full +list of people who contributed to this release can be found in the +<a href="https://libcloud.readthedocs.org/en/latest/changelog.html">CHANGES file</a>.</p> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/release%20announcement.html" rel="tag">release announcement</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2016/01/14/notice-for-linode-users.html">Notice for Linode users</a></h2> @@ -423,57 +502,6 @@ list of people who contributed to this r - - <div class="post"> - - <h2><a href="/blog/2015/10/05/libcloud-is-participating-in-hacktoberfest.html">Libcloud is participating in Hacktoberfest</a></h2> - - - - - - <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Oct 05, 2015</span> - - <div class="post-content"> - <p>Github and DigitalOcean are organizing <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a> again this year.</p> - -<p>Hacktoberfest is a month-long celebration of open source software where people -are encouraged to contribute to different open source projects. Each user who -submits four pull requests to any Github hosted open source project of their -choice will receive a free t-shirt.</p> - -<div class="imginline"> - <img src="/images/posts/2015-10-05-libcloud-is-participating-in-hacktoberfest/hacktoberfest-tshirt.png" class="img-responsive inline" /> - <p class="img-caption">Hacktoberfest 2015 t-shirt.</p> -</div> - -<p>This year we are also happy to announce that we have been selected as one of -the highlighted Python projects which users are invited to check, play with it -and contribute to.</p> - -<p>We think this is a great opportunity for both, long time users and contributors, -but especially people who are new to open source to learn how open source works -and participate.</p> - -<p>Having said that, we would like to invite anyone who is interested to participate -and contribute to our project. You can find more information on contributing to -Libcloud in our <a href="https://libcloud.readthedocs.org/en/latest/development.html#contributing">contribution guide</a>.</p> - -<p>For more information about the Hacktoberfest project itself and information on -how to sign up, please visit the <a href="https://hacktoberfest.digitalocean.com/">official website</a> and announcement blog post -from <a href="https://github.com/blog/2067-hacktoberfest-contribute-to-open-source-in-october">Github</a> and <a href="https://www.digitalocean.com/company/blog/hacktoberfest-is-back/">DigitalOcean</a>.</p> - - </div> - - <div class="row section post-meta"> - <div class="col-md-12 post-tags"> - <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/hacktoberfest.html" rel="tag">hacktoberfest</a>, <a href="/blog/tags/github.html" rel="tag">github</a></p> - </div> - </div> -</div> - - - </div> <p class="navigation"> @@ -498,7 +526,7 @@ from <a href="https://github.com/blog/20 <div class="col-lg-3 col-lg-offset-1"> <h2>Archive</h1> <ul> - <li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a href="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a hr ef="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/archives/2015/12/"> December 2015</a> (1)</li><li> <a href="/bl og/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013/12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/ 2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> February 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> + <li> <a href="/blog/archives/2021/06/"> June 2021</a> (1)</li><li> <a href="/blog/archives/2021/01/"> January 2021</a> (2)</li><li> <a href="/blog/archives/2020/09/"> September 2020</a> (1)</li><li> <a href="/blog/archives/2020/08/"> August 2020</a> (2)</li><li> <a href="/blog/archives/2020/06/"> June 2020</a> (2)</li><li> <a href="/blog/archives/2020/04/"> April 2020</a> (2)</li><li> <a href="/blog/archives/2020/03/"> March 2020</a> (1)</li><li> <a href="/blog/archives/2020/01/"> January 2020</a> (2)</li><li> <a href="/blog/archives/2019/12/"> December 2019</a> (1)</li><li> <a href="/blog/archives/2019/11/"> November 2019</a> (1)</li><li> <a href="/blog/archives/2019/08/"> August 2019</a> (2)</li><li> <a href="/blog/archives/2019/05/"> May 2019</a> (1)</li><li> <a href="/blog/archives/2018/11/"> November 2018</a> (1)</li><li> <a href="/blog/archives/2018/06/"> June 2018</a> (1)</li><li> <a hre f="/blog/archives/2018/03/"> March 2018</a> (1)</li><li> <a href="/blog/archives/2017/12/"> December 2017</a> (1)</li><li> <a href="/blog/archives/2017/09/"> September 2017</a> (2)</li><li> <a href="/blog/archives/2017/07/"> July 2017</a> (1)</li><li> <a href="/blog/archives/2017/04/"> April 2017</a> (3)</li><li> <a href="/blog/archives/2016/12/"> December 2016</a> (1)</li><li> <a href="/blog/archives/2016/11/"> November 2016</a> (1)</li><li> <a href="/blog/archives/2016/10/"> October 2016</a> (1)</li><li> <a href="/blog/archives/2016/09/"> September 2016</a> (1)</li><li> <a href="/blog/archives/2016/07/"> July 2016</a> (1)</li><li> <a href="/blog/archives/2016/06/"> June 2016</a> (1)</li><li> <a href="/blog/archives/2016/04/"> April 2016</a> (2)</li><li> <a href="/blog/archives/2016/02/"> February 2016</a> (2)</li><li> <a href="/blog/archives/2016/01/"> January 2016</a> (4)</li><li> <a href="/blog/a rchives/2015/12/"> December 2015</a> (1)</li><li> <a href="/blog/archives/2015/11/"> November 2015</a> (1)</li><li> <a href="/blog/archives/2015/10/"> October 2015</a> (2)</li><li> <a href="/blog/archives/2015/08/"> August 2015</a> (1)</li><li> <a href="/blog/archives/2015/03/"> March 2015</a> (1)</li><li> <a href="/blog/archives/2015/02/"> February 2015</a> (1)</li><li> <a href="/blog/archives/2014/12/"> December 2014</a> (1)</li><li> <a href="/blog/archives/2014/11/"> November 2014</a> (1)</li><li> <a href="/blog/archives/2014/07/"> July 2014</a> (2)</li><li> <a href="/blog/archives/2014/06/"> June 2014</a> (1)</li><li> <a href="/blog/archives/2014/05/"> May 2014</a> (1)</li><li> <a href="/blog/archives/2014/04/"> April 2014</a> (1)</li><li> <a href="/blog/archives/2014/02/"> February 2014</a> (8)</li><li> <a href="/blog/archives/2014/01/"> January 2014</a> (4)</li><li> <a href="/blog/archives/2013 /12/"> December 2013</a> (3)</li><li> <a href="/blog/archives/2013/11/"> November 2013</a> (2)</li><li> <a href="/blog/archives/2013/09/"> September 2013</a> (1)</li><li> <a href="/blog/archives/2013/08/"> August 2013</a> (1)</li><li> <a href="/blog/archives/2013/07/"> July 2013</a> (1)</li><li> <a href="/blog/archives/2013/03/"> March 2013</a> (1)</li><li> <a href="/blog/archives/2013/02/"> February 2013</a> (1)</li><li> <a href="/blog/archives/2012/12/"> December 2012</a> (2)</li><li> <a href="/blog/archives/2012/11/"> November 2012</a> (2)</li><li> <a href="/blog/archives/2012/09/"> September 2012</a> (1)</li><li> <a href="/blog/archives/2012/08/"> August 2012</a> (1)</li><li> <a href="/blog/archives/2012/07/"> July 2012</a> (1)</li><li> <a href="/blog/archives/2012/05/"> May 2012</a> (2)</li><li> <a href="/blog/archives/2012/04/"> April 2012</a> (1)</li><li> <a href="/blog/archives/2012/02/"> Feb ruary 2012</a> (1)</li><li> <a href="/blog/archives/2011/12/"> December 2011</a> (2)</li><li> <a href="/blog/archives/2011/11/"> November 2011</a> (3)</li><li> <a href="/blog/archives/2011/10/"> October 2011</a> (1)</li><li> <a href="/blog/archives/2011/09/"> September 2011</a> (1)</li><li> <a href="/blog/archives/2011/07/"> July 2011</a> (1)</li><li> <a href="/blog/archives/2011/06/"> June 2011</a> (1)</li><li> <a href="/blog/archives/2011/05/"> May 2011</a> (1)</li><li> <a href="/blog/archives/2011/02/"> February 2011</a> (1)</li><li> <a href="/blog/archives/2011/01/"> January 2011</a> (1)</li><li> <a href="/blog/archives/2010/10/"> October 2010</a> (1)</li><li> <a href="/blog/archives/2010/05/"> May 2010</a> (1)</li><li> <a href="/blog/archives/2010/02/"> February 2010</a> (1)</li> </ul> </div> </div> Modified: libcloud/site/trunk/generated/blog/tags/new committer.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/new%20committer.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/tags/new committer.html (original) +++ libcloud/site/trunk/generated/blog/tags/new committer.html Wed Jun 2 19:16:41 2021 @@ -96,6 +96,52 @@ <div class="post"> + <h2><a href="/blog/2021/06/03/dimitris-moraitis-joins-our-team.html">Dimitris Moraitis (dmo) joins our team</a></h2> + + + + + + <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jun 03, 2021</span> + + <div class="post-content"> + <p>Please help us extend a warm welcome to our newest team member <a href="https://github.com/d-mo">Dimitris Moraitis</a>!</p> + +<p>The Project Management Committee (PMC) for Apache Libcloud has invited Dimitris +Moraitis to join us as a committer and we are pleased to announce that +they have accepted.</p> + +<p>Dimitris is one of the founders and main contributors to the open source multi +cloud management project called <a href="https://github.com/mistio/mist-ce">Mist.io</a>.</p> + +<p>Mist.io has been an early user and adopter of Libcloud. Over the years, +Dimitris and the rest of the Mist.io team have contributed many changes and +improvements to Libcloud.</p> + +<p>For anyone who would like to know more about Dimitris here is his short bio:</p> + +<blockquote> +<p>Dimitris is an entrepreneur & engineer committed to open technologies. He +holds a UoA CS BSc. He has been serving as the technical lead for organizations +around the world since 2001. He's the co-founder & CTO of Mist.io, the open +source multicloud management platform. He's particularly interested in DevOps, +UX, AI/ML and the social impact of technology.</p> +</blockquote> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new%20committer.html" rel="tag">new committer</a>, <a href="/blog/tags/new%20pmc%20member.html" rel="tag">new pmc member</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2020/08/31/miguel-caballer-joins-our-team.html">Miguel Caballer (micafer) joins our team</a></h2> Modified: libcloud/site/trunk/generated/blog/tags/new pmc member.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/new%20pmc%20member.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/tags/new pmc member.html (original) +++ libcloud/site/trunk/generated/blog/tags/new pmc member.html Wed Jun 2 19:16:41 2021 @@ -96,6 +96,52 @@ <div class="post"> + <h2><a href="/blog/2021/06/03/dimitris-moraitis-joins-our-team.html">Dimitris Moraitis (dmo) joins our team</a></h2> + + + + + + <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jun 03, 2021</span> + + <div class="post-content"> + <p>Please help us extend a warm welcome to our newest team member <a href="https://github.com/d-mo">Dimitris Moraitis</a>!</p> + +<p>The Project Management Committee (PMC) for Apache Libcloud has invited Dimitris +Moraitis to join us as a committer and we are pleased to announce that +they have accepted.</p> + +<p>Dimitris is one of the founders and main contributors to the open source multi +cloud management project called <a href="https://github.com/mistio/mist-ce">Mist.io</a>.</p> + +<p>Mist.io has been an early user and adopter of Libcloud. Over the years, +Dimitris and the rest of the Mist.io team have contributed many changes and +improvements to Libcloud.</p> + +<p>For anyone who would like to know more about Dimitris here is his short bio:</p> + +<blockquote> +<p>Dimitris is an entrepreneur & engineer committed to open technologies. He +holds a UoA CS BSc. He has been serving as the technical lead for organizations +around the world since 2001. He's the co-founder & CTO of Mist.io, the open +source multicloud management platform. He's particularly interested in DevOps, +UX, AI/ML and the social impact of technology.</p> +</blockquote> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new%20committer.html" rel="tag">new committer</a>, <a href="/blog/tags/new%20pmc%20member.html" rel="tag">new pmc member</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2014/12/04/eric-johnson-joins-our-team.html">Eric Johnson (erjohnso) joins our team</a></h2> Modified: libcloud/site/trunk/generated/blog/tags/news.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/blog/tags/news.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/blog/tags/news.html (original) +++ libcloud/site/trunk/generated/blog/tags/news.html Wed Jun 2 19:16:41 2021 @@ -96,6 +96,52 @@ <div class="post"> + <h2><a href="/blog/2021/06/03/dimitris-moraitis-joins-our-team.html">Dimitris Moraitis (dmo) joins our team</a></h2> + + + + + + <span class="post-date-author">By Tomaz Muraus <span style="display:none">(<a href="https://plus.google.com/+TomazMuraus?rel=author">Google+</a>)</span>on Jun 03, 2021</span> + + <div class="post-content"> + <p>Please help us extend a warm welcome to our newest team member <a href="https://github.com/d-mo">Dimitris Moraitis</a>!</p> + +<p>The Project Management Committee (PMC) for Apache Libcloud has invited Dimitris +Moraitis to join us as a committer and we are pleased to announce that +they have accepted.</p> + +<p>Dimitris is one of the founders and main contributors to the open source multi +cloud management project called <a href="https://github.com/mistio/mist-ce">Mist.io</a>.</p> + +<p>Mist.io has been an early user and adopter of Libcloud. Over the years, +Dimitris and the rest of the Mist.io team have contributed many changes and +improvements to Libcloud.</p> + +<p>For anyone who would like to know more about Dimitris here is his short bio:</p> + +<blockquote> +<p>Dimitris is an entrepreneur & engineer committed to open technologies. He +holds a UoA CS BSc. He has been serving as the technical lead for organizations +around the world since 2001. He's the co-founder & CTO of Mist.io, the open +source multicloud management platform. He's particularly interested in DevOps, +UX, AI/ML and the social impact of technology.</p> +</blockquote> + + </div> + + <div class="row section post-meta"> + <div class="col-md-12 post-tags"> + <p>Tags: <a href="/blog/tags/news.html" rel="tag">news</a>, <a href="/blog/tags/new%20committer.html" rel="tag">new committer</a>, <a href="/blog/tags/new%20pmc%20member.html" rel="tag">new pmc member</a></p> + </div> + </div> +</div> + + + + + <div class="post"> + <h2><a href="/blog/2021/01/25/libcloud-3-3-1-released.html">Libcloud 3.3.1 released</a></h2> Modified: libcloud/site/trunk/generated/index.html URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/index.html?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/index.html (original) +++ libcloud/site/trunk/generated/index.html Wed Jun 2 19:16:41 2021 @@ -242,19 +242,19 @@ <h3>Latest Blog Posts</h3> - <p><a href="/blog/2021/01/25/libcloud-3-3-1-released.html">Libcloud 3.3.1 released</a> + <p><a href="/blog/2021/06/03/dimitris-moraitis-joins-our-team.html">Dimitris Moraitis (dmo) joins our team</a> - <p><a href="/blog/2021/01/02/libcloud-3-3-0-released.html">Libcloud 3.3.0 released</a> + <p><a href="/blog/2021/01/25/libcloud-3-3-1-released.html">Libcloud 3.3.1 released</a> - <p><a href="/blog/2020/09/20/libcloud-3-2-0-released.html">Libcloud 3.2.0 released</a> + <p><a href="/blog/2021/01/02/libcloud-3-3-0-released.html">Libcloud 3.3.0 released</a> - <p><a href="/blog/2020/08/31/miguel-caballer-joins-our-team.html">Miguel Caballer (micafer) joins our team</a> + <p><a href="/blog/2020/09/20/libcloud-3-2-0-released.html">Libcloud 3.2.0 released</a> Modified: libcloud/site/trunk/generated/sitemap.xml URL: http://svn.apache.org/viewvc/libcloud/site/trunk/generated/sitemap.xml?rev=1890398&r1=1890397&r2=1890398&view=diff ============================================================================== --- libcloud/site/trunk/generated/sitemap.xml (original) +++ libcloud/site/trunk/generated/sitemap.xml Wed Jun 2 19:16:41 2021 @@ -457,6 +457,12 @@ <lastmod>2021-01-25T00:00:00+01:00</lastmod> </url> <url> + <loc> + https://libcloud.apache.org/blog/2021/06/03/dimitris-moraitis-joins-our-team.html + </loc> + <lastmod>2021-06-03T00:00:00+02:00</lastmod> + </url> + <url> <loc>https://libcloud.apache.org/community-resources.html</loc> <lastmod>2019-09-09T18:11:27+02:00</lastmod> </url> @@ -486,7 +492,7 @@ </url> <url> <loc>https://libcloud.apache.org/blog/blog/</loc> - <lastmod>2021-01-26T23:08:56+01:00</lastmod> + <lastmod>2021-06-02T21:10:54+02:00</lastmod> </url> <url> <loc>https://libcloud.apache.org/gsoc.html</loc> @@ -506,7 +512,7 @@ </url> <url> <loc>https://libcloud.apache.org/</loc> - <lastmod>2021-01-26T23:08:56+01:00</lastmod> + <lastmod>2021-06-02T21:10:54+02:00</lastmod> </url> <url> <loc>https://libcloud.apache.org/media.html</loc> Added: libcloud/site/trunk/source/_posts/2021-06-03-dimitris-moraitis-joins-our-team.md URL: http://svn.apache.org/viewvc/libcloud/site/trunk/source/_posts/2021-06-03-dimitris-moraitis-joins-our-team.md?rev=1890398&view=auto ============================================================================== --- libcloud/site/trunk/source/_posts/2021-06-03-dimitris-moraitis-joins-our-team.md (added) +++ libcloud/site/trunk/source/_posts/2021-06-03-dimitris-moraitis-joins-our-team.md Wed Jun 2 19:16:41 2021 @@ -0,0 +1,33 @@ +--- +layout: post +title: Dimitris Moraitis (dmo) joins our team +author: Tomaz Muraus +tags: + - news + - new committer + - new pmc member +--- + +Please help us extend a warm welcome to our newest team member [Dimitris Moraitis][1]! + +The Project Management Committee (PMC) for Apache Libcloud has invited Dimitris +Moraitis to join us as a committer and we are pleased to announce that +they have accepted. + +Dimitris is one of the founders and main contributors to the open source multi +cloud management project called [Mist.io][2]. + +Mist.io has been an early user and adopter of Libcloud. Over the years, +Dimitris and the rest of the Mist.io team have contributed many changes and +improvements to Libcloud. + +For anyone who would like to know more about Dimitris here is his short bio: + +> Dimitris is an entrepreneur & engineer committed to open technologies. He +holds a UoA CS BSc. He has been serving as the technical lead for organizations +around the world since 2001. He's the co-founder & CTO of Mist.io, the open +source multicloud management platform. He's particularly interested in DevOps, +UX, AI/ML and the social impact of technology. + +[1]: https://github.com/d-mo +[2]: https://github.com/mistio/mist-ce
