This "My Little Pony" Figurine In A Jar Will Delete Your Faith In Humanity

The final chapter in a jar of bodily fluids that&;s been developing since 2014. WARNING: extremely vile gross stuff below.

When BuzzFeed covered this back in 2014, we wrote:

The original poster claims that for some ungodly reason he was collecting his ejaculations in a jar that contained a figurine of the Rainbow Dash from My Little Pony. The name for this little endeavor? “The Pony Cum Jar Project.” He unfortunately stored his “cum jar” too close to a radiator, accidentally boiling his My Little Pony figurine in his own seminal fluid.

Warning: this is extremely gross. It’s a Rainbow Dash figurine in a jar of very gross looking liquid.

Warning: this is extremely gross. It's a Rainbow Dash figurine in a jar of very gross looking liquid.

In the 4chan original post, he claimed that the smell was too bad, and he was giving it up. He also said he planned on burying the jar (as one does).

But the jar prevailed. And this week, our hero returned triumphantly to the /mlp board to post what he says may be the final update to the saga: he is transferring it to a more secure jar.

He posted a video of the transfer, from one jar that looks like a Yankee candle jar (???) to another, more secure jar. Wait for the exciting moment when Rainbow Dash finally appears&;

BuzzFeed reached the jizzmaster by email and asked him… why?

“Sheer curiosity and scientific research,” he replied. Sounds good.


View Entire List ›

Quelle: <a href="This "My Little Pony" Figurine In A Jar Will Delete Your Faith In Humanity“>BuzzFeed

DockerCon 2017 first speakers announced

To the rest of the world, 2017 may seem a ways away, but here at we are heads down reading your Call for Papers submissions and curating content to make this the biggest and best DockerCon to date. With that, we are thrilled to share with you the DockerCon 2017 Website with helpful information including ten of the first confirmed speakers and sessions.
If you want to join this amazing lineup and haven’t submitted your cool hack, use case or deep dive session, don’t hesitate! The Call for Papers closes this Saturday, January 14th.
 
Submit a talk
 
First DockerCon speakers
 
Laura Frank
Sr. Software Engineer, Codeship
Everything You Thought You Already Knew About Orchestration
 
 
 

Julius Volz
Co-founder, Prometheus
Monitoring, the Prometheus Way
 
 

 
Liz Rice
Co-founder & CEO, Microscaling Systems
What have namespaces done for you lately?

 
 

 
Thomas Graf
Principal Engineer at Noiro, Cisco
Cilium – BPF & XDP for containers
 
 

 
Brendan Gregg 
Sr. Performance Architect, Netflix
Container Tracing Deep Dive
 
 

 
Thomas Shaw
Build Engineer, Activision
Activision&;s Skypilot: Delivering amazing game experiences through containerized pipelines
 
 

 
Fabiane Nardon
Chief Scientist at TailTarget
Docker for Java Developers
 
 

 
Arun Gupta
Vice President of Developer Advocacy, Couchbase
Docker for Java Developers
 
 

 
Justin Cappos
Assistant Professor in the Computer Science and Engineering department at New York University
Securing the Software Supply Chain
 
 

 
John Zaccone
Software Engineer
A Developer’s Guide to Getting Started with Docker

Convince your boss to send you to DockerCon
Do you really want to go to DockerCon, but are having a hard time convincing your boss on pulling the trigger to send you? Have you already explained that sessions, training and hands-on exercises are definitely worth the financial investment and time away from your desk?
We want you to join the community and us at DockerCon 2017, so we’ve put together the following packet of event information, including a helpful letter you can use to send to your boss to justify your trip. We are confident there’s something at DockerCon for everyone, so feel free to share within your company and networks.

Download Now
More information about DockerCon 2017:

Register for the conference
Submit a talk
Choose what workshop to attend
Book your Hotel room
Become a sponsor

DockerCon 2017 first speakers announced &; still time to submit your docker talksClick To Tweet

The post DockerCon 2017 first speakers announced appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

“Dear Boss, I want to attend the OpenStack Summit”

Want to attend the OpenStack Summit Boston but need help with the right words for getting your trip approved? While we won&;t write the whole thing for you, here&8217;s a template to get you going. It&8217;s up to you to decide how the Summit will help your team, but with free workshops and trainings, technical sessions, strategy talks and the opportunity to meet thousands of likeminded Stackers, we don&8217;t think you&8217;ll have a hard time finding an answer.
 
Dear [Boss],
I would like to attend the OpenStack Summit in Boston, May 8-11, 2017. The OpenStack Summit is the largest open source conference in North America, and the only one where I can get free OpenStack training, learn how to contribute code upstream to the project, and meet with other users to learn how they’ve been using OpenStack in production. The Summit is an opportunity for me to bring back knowledge about [Why you want to attend! What are you hoping to learn? What would benefit your team?] and share it with our team, while helping us get to know similar OpenStack-minded teams around the world (think 60+ countries and nearly 1,200 companies represented).
If I register before mid-March, I get early bird pricing&;$600 USD for 4 days (plus an optional day of training). Early registration also allows me to RSVP for trainings and workshops as soon as they open (they always sell out!), or sign up to take the Certified OpenStack Administrator exam onsite.
At the OpenStack Summit Austin last year, over 7,800 attendees heard case studies from Superusers like AT&T and China Mobile, learned how teams are using containers and container orchestration like Kubernetes with OpenStack, and gave feedback to Project Teams about user needs for the upcoming software release. You can browse past Summit content at openstack.org/videos to see a sample of the conference talks.
The OpenStack Summit is the opportunity for me to expand my OpenStack knowledge, network and skills. Thanks for considering my request.
[Your Name]
Quelle: openstack.org

OpenStack Developer Mailing List Digest December 10- 16

Updates

Release schedule clarification after Ocata [5]
Nova placement/resource providers [6][12]
Stuart McLaren stepping down from glance core [8]

Allowing Teams Based on Vendor-specific Drivers (cont) [1]

Narrowed down options at last TC meeting to following [2]:

Soft black (option 2): default option, had no negative feedback, represents the current status quo
Soft white (option 4): had some positive feedback, folks liked it&;s simple solution
Grey (option 5): had the most positive feedback, but also the least amount of detail

Other options’ patches are being abandoned
Leaning towards an amended version of the ‘Grey’ proposal [10]

Community Goals for Pike (cont.) [3]

Need feedback [4]
Keep using openstack/governance for documenting goals

Make sure to include guides
Consider prioritization as it may not be possible to complete all the goals in the release
Think about splitting larger goals to things that can be accomplished in a single release

Involving users/operators through the Product WG and start face to face discussions on the Forums

Python changes in OpenStack CI [7]

Python3.4 on a Trusty VM for older branches: stable/liberty and stable/mitaka
Python3.5 on a Xenial VM for newer branches: stable/newton and master

Python3.4 testing is disabled for these
ACTION:

Projects should enable voting for Python3.5 jobs or add them if they don’t exist yet
Projects should remove Python3.4 jobs if they run only on master

Golang Technical Requirements [15]

Activities to adopt Go into OpenStack are ongoing
Areas need more discussion

Common Libraries
Dependency Management

Candidates are govendor, glide and godep

Release Deliverables

Tags and/or build artifacts?
AUTHORS and ChangeLog files can be autogenerated

Oaktree has golang bindings and contains generated files

Upgrade readiness check in Nova [11]

New, separate service
Checks the system state and indicates how much it is ready to start the Ocata upgrade (success, warning, error)

Self-service branch management [13]

Through openstack/releases repo
Specify your needs in a patch [14] and the rest is automated after it’s merged
New stable branch creation is best to happen close to the end of the cycle, when the bug fixing and stabilization activities are slowing down

Architectural discussion about nova-compute interactions [16]

How do Nova, Neutron and Cinder interact with nova-compute
Should nova-compute become a standalone shared service? [9]

 
[1] http://lists.openstack.org/pipermail/openstack-dev/2016-November/108074.html
[2] http://eavesdrop.openstack.org/meetings/tc/2016/tc.2016-12-06-20.02.log.txt
[3] http://lists.openstack.org/pipermail/openstack-dev/2016-November/108167.html
[4] https://etherpad.openstack.org/p/community-goals
[5] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108689.html
[6] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108707.html
[7] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108821.html
[8] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108840.html
[9] https://review.openstack.org/#/c/411527/
[10] https://review.openstack.org/403829
[11] http://lists.openstack.org/pipermail/openstack-dev/2016-December/109060.html
[12] http://lists.openstack.org/pipermail/openstack-dev/2016-December/109085.html
[13] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108923.html
[14] http://git.openstack.org/cgit/openstack/releases/tree/README.rst#
[15] http://lists.openstack.org/pipermail/openstack-dev/2016-December/108875.html
[16] http://lists.openstack.org/pipermail/openstack-dev/2016-December/109044.html
Quelle: openstack.org

OpenStack Developer Mailing List Digest December 17-23

SuccessBot Says

AJaeger: We&;ve now got the first Deployment guide published for Newton, see http://docs.openstack.org/project-deploy-guide/newton/ . Congrats to OpenStack Ansible team!
clarkb: OpenStack CI has moved off of Ubuntu Trusty and onto Ubuntu Xenial for testing Newton and master.
ihrachys: first oslo.privsep patch landed in Neutron.
dulek: Cinder now supports ZeroMQ messaging!
All

Release Countdown for Week R-8, 26-30 December

Feature work and major refactoring should be well under way as we pass the second milestone.
Focus:

Deadline for non-client library releases is R-5 (19 Jan).

Feature freeze exceptions are not granted for libraries.

General Notes:

Project teams should identify contributors that have a significant impact this cycle who not otherwise qualify for ATC status.
Those names should be added to the governance repository for consideration as ATC.
The list needs to be approved by the TC by 20 January to qualify for contributor discounts codes for the event.
Submit these by 5 January

Important Dates:

Extra ATCs deadline: 5 January
Final release of non-client libraries: 19 January
Ocata 3 Milestone, with Feature and Requirements freezes: 26 January

Ocata release schedule [1]
Full thread

Lives

There is movement to still move to Storyboard as our task tracker.
To spread awareness, some blog posts have been made about it, and it’s capabilities:

General over and decision to move from Launchpad [2].
Next post will focus on compare and contrast of Launchpad and Storyboard.

If you want to hear about something in particular in the blog posts, let the team know on storyboard IRC channel on Freenode.
Attend their weekly meeting [3].
Try out Storyboard in the sandbox [4].
Storyboard documentation [5]
Full thread

 
[1] &; http://releases.openstack.org/ocata/schedule.html
[2] &8211; https://storyboard-blog.sotk.co.uk/why-storyboard-for-openstack.html
[3] &8211; https://wiki.openstack.org/wiki/StoryBoard
[4] &8211; https://storyboard-dev.openstack.org/
[5] &8211; http://docs.openstack.org/infra/storyboard/
Quelle: openstack.org

AngioDynamics unifies a global team with enterprise video

Engaging employees is a top priority in just about every business today. With many employees working in remote locations, keeping everyone informed and instilling corporate culture are important.  Enterprise video is a great way to accomplish these goals and help employees thrive.
AngioDynamics, a medical device maker based in New York state, is a great example of how to use video to unify a dispersed team. In this two-minute video, learn how the company tripled employee engagement using IBM Cloud Video to reach 1,300 employees on two continents, with 25 percent of them in the field and on mobile devices.

CEO-led video town halls have helped AngioDynamics reshape itself after an acquisition several years ago more than doubled its number of employees.  In addition, because the healthcare industry is heavily regulated, single-sign on access control and encrypted-video-stream features built into IBM Cloud Video Streaming Manager for Enterprise were critical in meeting requirements.
AngioDynamics&; video town halls, combined with many other factors, helped the company drive a 40 percent increase in its stock price in 2016. See more in this customer infographic, and learn more about IBM Cloud Video Streaming Manager for Enterprise.
The post AngioDynamics unifies a global team with enterprise video appeared first on news.
Quelle: Thoughts on Cloud

AngioDynamics unifies a global team with enterprise video

Engaging employees is a top priority in just about every business today. With many employees working in remote locations, keeping everyone informed and instilling corporate culture are important.  Enterprise video is a great way to accomplish these goals and help employees thrive.
AngioDynamics, a medical device maker based in New York state, is a great example of how to use video to unify a dispersed team. In this two-minute video, learn how the company tripled employee engagement using IBM Cloud Video to reach 1,300 employees on two continents, with 25 percent of them in the field and on mobile devices.

CEO-led video town halls have helped AngioDynamics reshape itself after an acquisition several years ago more than doubled its number of employees.  In addition, because the healthcare industry is heavily regulated, single-sign on access control and encrypted-video-stream features built into IBM Cloud Video Streaming Manager for Enterprise were critical in meeting requirements.
AngioDynamics&; video town halls, combined with many other factors, helped the company drive a 40 percent increase in its stock price in 2016. See more in this customer infographic, and learn more about IBM Cloud Video Streaming Manager for Enterprise.
The post AngioDynamics unifies a global team with enterprise video appeared first on news.
Quelle: Thoughts on Cloud

Introduction to YAML: Creating a Kubernetes deployment

The post Introduction to YAML: Creating a Kubernetes deployment appeared first on Mirantis | The Pure Play OpenStack Company.
In previous articles, we&;ve been talking about how to use Kubernetes to spin up resources. So far, we&8217;ve been working exclusively on the command line, but there&8217;s an easier and more useful way to do it: creating configuration files using YAML. In this article, we&8217;ll look at how YAML works and use it to define first a Kubernetes Pod, and then a Kubernetes Deployment.
YAML Basics
It&8217;s difficult to escape YAML if you&8217;re doing anything related to many software fields &; particularly Kubernetes, SDN, and OpenStack. YAML, which stands for Yet Another Markup Language, or YAML Ain&8217;t Markup Language (depending who you ask) is a human-readable text-based format for specifying configuration-type information. For example, in this article, we&8217;ll pick apart the YAML definitions for creating first a Pod, and then a Deployment.
Using YAML for K8s definitions gives you a number of advantages, including:

Convenience: You&8217;ll no longer have to add all of your parameters to the command line
Maintenance: YAML files can be added to source control, so you can track changes
Flexibility: You&8217;ll be able to create much more complex structures using YAML than you can on the command line

YAML is a superset of JSON, which means that any valid JSON file is also a valid YAML file. So on the one hand, if you know JSON and you&8217;re only ever going to write your own YAML (as opposed to reading other people&8217;s) you&8217;re all set.  On the other hand, that&8217;s not very likely, unfortunately.  Even if you&8217;re only trying to find examples on the web, they&8217;re most likely in (non-JSON) YAML, so we might as well get used to it.  Still, there may be situations where the JSON format is more convenient, so it&8217;s good to know that it&8217;s available to you.
Fortunately, there are only two types of structures you need to know about in YAML:

Lists
Maps

That&8217;s it. You might have maps of lists and lists of maps, and so on, but if you&8217;ve got those two structures down, you&8217;re all set. That&8217;s not to say there aren&8217;t more complex things you can do, but in general, this is all you need to get started.
YAML Maps
Let&8217;s start by looking at YAML maps.  Maps let you associate name-value pairs, which of course is convenient when you&8217;re trying to set up configuration information.  For example, you might have a config file that starts like this:

apiVersion: v1
kind: Pod
The first line is a separator, and is optional unless you&8217;re trying to define multiple structures in a single file. From there, as you can see, we have two values, v1 and Pod, mapped to two keys, apiVersion and kind.
This kind of thing is pretty simple, of course, and you can think of it in terms of its JSON equivalent:
{
“apiVersion”: “v1″,
“kind”: “Pod”
}
Notice that in our YAML version, the quotation marks are optional; the processor can tell that you&8217;re looking at a string based on the formatting.
You can also specify more complicated structures by creating a key that maps to another map, rather than a string, as in:

apiVersion: v1
kind: Pod
metadata:
 name: rss-site
 labels:
   app: web
In this case, we have a key, metadata, that has as its value a map with 2 more keys, name and labels. The labels key itself has a map as its value. You can nest these as far as you want to.
The YAML processor knows how all of these pieces relate to each other because we&8217;ve indented the lines. In this example I&8217;ve used 2 spaces for readability, but the number of spaces doesn&8217;t matter &8212; as long as it&8217;s at least 1, and as long as you&8217;re CONSISTENT.  For example, name and labels are at the same indentation level, so the processor knows they&8217;re both part of the same map; it knows that app is a value for labels because it&8217;s indented further.
Quick note: NEVER use tabs in a YAML file.
So if we were to translate this to JSON, it would look like this:
{
“apiVersion”: “v1″,
“kind”: “Pod”,
“metadata”: {
“name”: “rss-site”,
“labels”: {
“app”: “web”
}
}
}
Now let&8217;s look at lists.
YAML lists
YAML lists are literally a sequence of objects.  For example:
args
 – sleep
 – “1000”
 – message
 – “Bring back Firefly!”
As you can see here, you can have virtually any number of items in a list, which is defined as items that start with a dash (-) indented from the parent.  So in JSON, this would be:
{
“args”: [“sleep”, “1000”, “message”, “Bring back Firefly!”]
}
And of course, members of the list can also be maps:

apiVersion: v1
kind: Pod
metadata:
 name: rss-site
 labels:
   app: web
spec:
 containers:
   – name: front-end
     image: nginx
     ports:
       – containerPort: 80
   – name: rss-reader
     image: nickchase/rss-php-nginx:v1
     ports:
       – containerPort: 88
So as you can see here, we have a list of containers &;objects&;, each of which consists of a name, an image, and a list of ports.  Each list item under ports is itself a map that lists the containerPort and its value.
For completeness, let&8217;s quickly look at the JSON equivalent:
{
“apiVersion”: “v1″,
“kind”: “Pod”,
“metadata”: {
“name”: “rss-site”,
“labels”: {
“app”: “web”
}
},
“spec”: {
“containers”: [{
“name”: “front-end”,
“image”: “nginx”,
“ports”: [{
“containerPort”: “80”
}]
},
{
“name”: “rss-reader”,
“image”: “nickchase/rss-php-nginx:v1″,
“ports”: [{
“containerPort”: “88”
}]
}]
}
}
As you can see, we&8217;re starting to get pretty complex, and we haven&8217;t even gotten into anything particularly complicated! No wonder YAML is replacing JSON so fast.
So let&8217;s review.  We have:

maps, which are groups of name-value pairs
lists, which are individual items
maps of maps
maps of lists
lists of lists
lists of maps

Basically, whatever structure you want to put together, you can do it with those two structures.  
Creating a Pod using YAML
OK, so now that we&8217;ve got the basics out of the way, let&8217;s look at putting this to use. We&8217;re going to first create a Pod, then a Deployment, using YAML.
If you haven&8217;t set up your cluster and kubectl, go ahead and check out this article series on setting up Kubernetes before you go on.  It&8217;s OK, we&8217;ll wait&;.

Back already?  Great!  Let&8217;s start with a Pod.
Creating the pod file
In our previous example, we described a simple Pod using YAML:
&8212;
apiVersion: v1
kind: Pod
metadata:
 name: rss-site
 labels:
   app: web
spec:
 containers:
   &; name: front-end
     image: nginx
     ports:
       &8211; containerPort: 80
   &8211; name: rss-reader
     image: nickchase/rss-php-nginx:v1
     ports:
       &8211; containerPort: 88
Taking it apart one piece at a time, we start with the API version; here it&8217;s just v1. (When we get to deployments, we&8217;ll have to specify a different version because Deployments don&8217;t exist in v1.)
Next, we&8217;re specifying that we want to create a Pod; we might specify instead a Deployment, Job, Service, and so on, depending on what we&8217;re trying to achieve.
Next we specify the metadata. Here we&8217;re specifying the name of the Pod, as well as the label we&8217;ll use to identify the pod to Kubernetes.
Finally, we&8217;ll specify the actual objects that make up the pod. The spec property includes any containers, storage volumes, or other pieces that Kubernetes needs to know about, as well as properties such as whether to restart the container if it fails. You can find a complete list of Kubernetes Pod properties in the Kubernetes API specification, but let&8217;s take a closer look at a typical container definition:
&8230;
spec:
 containers:
   &8211; name: front-end
     image: nginx
     ports:
       &8211; containerPort: 80
   &8211; name: rss-reader
&8230;
In this case, we have a simple, fairly minimal definition: a name (front-end), the image on which it&8217;s based (nginx), and one port on which the container will listen internally (80).  Of these, only the name is really required, but in general, if you want it to do anything useful, you&8217;ll need more information.
You can also specify more complex properties, such as a command to run when the container starts, arguments it should use, a working directory, or whether to pull a new copy of the image every time it&8217;s instantiated.  You can also specify even deeper information, such as the location of the container&8217;s exit log.  Here are the properties you can set for a Container:

name
image
command
args
workingDir
ports
env
resources
volumeMounts
livenessProbe
readinessProbe
livecycle
terminationMessagePath
imagePullPolicy
securityContext
stdin
stdinOnce
tty

Now let&8217;s go ahead and actually create the pod.
Creating the pod using the YAML file
The first step, of course, is to go ahead and create a text file.   Call it pod.yaml and add the following text, just as we specified it earlier:
&8212;
apiVersion: v1
kind: Pod
metadata:
 name: rss-site
 labels:
   app: web
spec:
 containers:
   &8211; name: front-end
     image: nginx
     ports:
       &8211; containerPort: 80
   &8211; name: rss-reader
     image: nickchase/rss-php-nginx:v1
     ports:
       &8211; containerPort: 88
Save the file, and tell Kubernetes to create its contents:
> kubectl create -f pod.yaml
pod “rss-site” created
As you can see, K8s references the name we gave the Pod.  You can see that if you ask for a list of the pods:
> kubectl get pods
NAME       READY     STATUS              RESTARTS   AGE
rss-site   0/2       ContainerCreating   0          6s
If you check early enough, you can see that the pod is still being created.  After a few seconds, you should see the containers running:
> kubectl get pods
NAME       READY     STATUS    RESTARTS   AGE
rss-site   2/2       Running   0          14s
From here, you can test out the Pod (just as we did in the previous article), but ultimately we want to create a Deployment, so let&8217;s go ahead and delete it so there aren&8217;t any name conflicts:
> kubectl delete pod rss-site
pod “rss-site” deleted
Troubleshooting pod creation
Sometimes, of course, things don&8217;t go as you expect. Maybe you&8217;ve got a networking issue, or you&8217;ve mistyped something in your YAML file.  You might see an error like this:
> kubectl get pods
NAME       READY     STATUS         RESTARTS   AGE
rss-site   1/2       ErrImagePull   0          9s
In this case, we can see that one of our containers started up just fine, but there was a problem with the other.  To track down the problem, we can ask Kubernetes for more information on the Pod:
> kubectl describe pod rss-site
Name:           rss-site
Namespace:      default
Node:           10.0.10.7/10.0.10.7
Start Time:     Sun, 08 Jan 2017 08:36:47 +0000
Labels:         app=web
Status:         Pending
IP:             10.200.18.2
Controllers:    <none>
Containers:
 front-end:
   Container ID:               docker://a42edaa6dfbfdf161f3df5bc6af05e740b97fd9ac3d35317a6dcda77b0310759
   Image:                      nginx
   Image ID:                   docker://sha256:01f818af747d88b4ebca7cdabd0c581e406e0e790be72678d257735fad84a15f
   Port:                       80/TCP
   State:                      Running
     Started:                  Sun, 08 Jan 2017 08:36:49 +0000
   Ready:                      True
   Restart Count:              0
   Environment Variables:      <none>
 rss-reader:
   Container ID:
   Image:                      nickchase/rss-php-nginx
   Image ID:
   Port:                       88/TCP
   State:                      Waiting
    Reason:                   ErrImagePull
   Ready:                      False
   Restart Count:              0
   Environment Variables:      <none>
Conditions:
 Type          Status
 Initialized   True
 Ready         False
 PodScheduled  True
No volumes.
QoS Tier:       BestEffort
Events:
 FirstSeen     LastSeen        Count   From                    SubobjectPath  Type             Reason                  Message
 ———     ——–        —–   —-                    ————-  ——– ——                  ——-
 45s           45s             1       {default-scheduler }                   Normal           Scheduled               Successfully assigned rss-site to 10.0.10.7
 44s           44s             1       {kubelet 10.0.10.7}     spec.containers{front-end}      Normal          Pulling                 pulling image “nginx”
 45s           43s             2       {kubelet 10.0.10.7}                    Warning          MissingClusterDNS       kubelet does not have ClusterDNS IP configured and cannot create Pod using “ClusterFirst” policy. Falling back to DNSDefault policy.
 43s           43s             1       {kubelet 10.0.10.7}     spec.containers{front-end}      Normal          Pulled                  Successfully pulled image “nginx”
 43s           43s             1       {kubelet 10.0.10.7}     spec.containers{front-end}      Normal          Created                 Created container with docker id a42edaa6dfbf
 43s           43s             1       {kubelet 10.0.10.7}     spec.containers{front-end}      Normal          Started                 Started container with docker id a42edaa6dfbf
 43s           29s             2       {kubelet 10.0.10.7}     spec.containers{rss-reader}     Normal          Pulling                 pulling image “nickchase/rss-php-nginx”
 42s           26s             2       {kubelet 10.0.10.7}     spec.containers{rss-reader}     Warning         Failed                  Failed to pull image “nickchase/rss-php-nginx”: Tag latest not found in repository docker.io/nickchase/rss-php-nginx
 42s           26s             2       {kubelet 10.0.10.7}                    Warning          FailedSync              Error syncing pod, skipping: failed to “StartContainer” for “rss-reader” with ErrImagePull: “Tag latest not found in repository docker.io/nickchase/rss-php-nginx”

 41s   12s     2       {kubelet 10.0.10.7}     spec.containers{rss-reader}    Normal   BackOff         Back-off pulling image “nickchase/rss-php-nginx”
 41s   12s     2       {kubelet 10.0.10.7}                                    Warning  FailedSync      Error syncing pod, skipping: failed to “StartContainer” for “rss-reader” with ImagePullBackOff: “Back-off pulling image “nickchase/rss-php-nginx””
As you can see, there&8217;s a lot of information here, but we&8217;re most interested in the Events &8212; specifically, once the warnings and errors start showing up.  From here I was able to quickly see that I&8217;d forgotten to add the :v1 tag to my image, so it was looking for the :latest tag, which didn&8217;t exist.  
To fix the problem, I first deleted the Pod, then fixed the YAML file and started again. Instead, I could have fixed the repo so that Kubernetes could find what it was looking for, and it would have continued on as though nothing had happened,.
Now that we&8217;ve successfully gotten a Pod running, let&8217;s look at doing the same for a Deployment.
Creating a Deployment using YAML
Finally, we&8217;re down to creating the actual Deployment.  Before we do that, though, it&8217;s worth understanding what it is we&8217;re actually doing.
K8s, remember, manages container-based resources. In the case of a Deployment, you&8217;re creating a set of resources to be managed. For example, where we created a single instance of the Pod in the previous example, we might create a Deployment to tell Kubernetes to manage a set of replicas of that Pod &8212; literally, a ReplicaSet &8212; to make sure that a certain number of them are always available.  So we might start our Deployment definition like this:
&8212;
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
 name: rss-site
spec:
 replicas: 2
Here we&8217;re specifying the apiVersion as extensions/v1beta1 &8212; remember, Deployments aren&8217;t in v1, as Pods were &8212; and that we want a Deployment. Next we specify the name. We can also specify any other metadata we want, but let&8217;s keep things simple for now.
Finally, we get into the spec. In the Pod spec, we gave information about what actually went into the Pod; we&8217;ll do the same thing here with the Deployment. We&8217;ll start, in this case, by saying that whatever Pods we deploy, we always want to have 2 replicas. You can set this number however you like, of course, and you can also set properties such as the selector that defines the Pods affected by this Deployment, or the minimum number of seconds a pod must be up without any errors before it&8217;s considered &8220;ready&8221;.  You can find a full list of the Deployment specification properties in the Kuberenetes v1beta1 API reference.
OK, so now that we know we want 2 replicas, we need to answer the question: &8220;Replicas of what?&8221;  They&8217;re defined by templates:
&8212;
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
 name: rss-site
spec:
 replicas: 2
 template:
   metadata:
     labels:
       app: web
   spec:
     containers:
       &8211; name: front-end
         image: nginx
         ports:
           &8211; containerPort: 80
       &8211; name: rss-reader
         image: nickchase/rss-php-nginx:v1
         ports:
           &8211; containerPort: 88
Look familiar?  It should; it&8217;s virtually identical to the Pod definition in the previous section, and that&8217;s by design. Templates are simply definitions of objects to be replicated &8212; objects that might, in other circumstances, by created on their own.
Now let&8217;s go ahead and create the deployment.  Add the YAML to a file called deployment.yaml and point Kubernetes at it:
> kubectl create -f deployment.yaml
deployment “rss-site” created
To see how it&8217;s doing, we can check on the deployments list:
> kubectl get deployments
NAME       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
rss-site   2         2         2            1           7s
As you can see, Kubernetes has started both replicas, but only one is available. You can check the event log by describing the Deployment, as before:
> kubectl describe deployment rss-site
Name:                   rss-site
Namespace:              default
CreationTimestamp:      Mon, 09 Jan 2017 17:42:14 +0000=
Labels:                 app=web
Selector:               app=web
Replicas:               2 updated | 2 total | 1 available | 1 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  1 max unavailable, 1 max surge
OldReplicaSets:         <none>
NewReplicaSet:          rss-site-4056856218 (2/2 replicas created)
Events:
 FirstSeen     LastSeen        Count   From                            SubobjectPath   Type            Reason                  Message
 ———     ——–        —–   —-                            ————-   ——–        ——                  ——-
 46s           46s             1       {deployment-controller }               Normal           ScalingReplicaSet       Scaled up replica set rss-site-4056856218 to 2
As you can see here, there&8217;s no problem, it just hasn&8217;t finished scaling up yet. Another few seconds, and we can see that both Pods are running:
> kubectl get deployments
NAME       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
rss-site   2         2         2            2           1m
What we&8217;ve seen so far
OK, so let&8217;s review. We&8217;ve basically covered three topics:

YAML is a human-readable text-based format that let&8217;s you easily specify configuration-type information by using a combination of maps of name-value pairs and lists of items (and nested versions of each).
YAML is the most convenient way to work with Kubernetes objects, and in this article we looked at creating Pods and Deployments.
You can get more information on running (or should-be-running) objects by asking Kubernetes to describe them.

So that&8217;s our basic YAML tutorial. We&8217;re going to be tackling a great deal of Kubernetes-related content in the coming months, so if there&8217;s something specific you want to hear about, let us know in the comments, or tweet us at @MirantisIT.
The post Introduction to YAML: Creating a Kubernetes deployment appeared first on Mirantis | The Pure Play OpenStack Company.
Quelle: Mirantis

Now Open: 2017 Docker Scholarship & Meet the 2016 Recipients!

Last year, announced our inaugural Docker Program in partnership with Hack Reactor. The 2017 scholarship to Hack Reactor’s March cohort is now open and accepting applications.
 
 
The scholarship includes full tuition to Hack Reactor, pending program acceptance, and recipients will be paired with a Docker mentor.
Applications will be reviewed and candidates who are accepted into the Hack Reactor program and meet Docker’s criteria will be invited to Docker HQ for a panel interview with Docker team members. Scholarships will be awarded based on acceptance to the Hack Reactor program, demonstration of personal financial need and quality of application responses. The Docker scholarship is open to anyone who demonstrates a commitment to advancing equality in their community. All gender and gender identities are encouraged to apply. Click here for more information.
 
Apply to the Docker Scholarship
 
We are excited to introduce our 2016 Docker scholarship recipients, Maurice Okumu and Sauvaghn Jones!
In their own words, learn more about Maurice and Savaughn below:
Maurice Okumu 
 
My name is Maurice Okumu and I was born and raised in Kenya. I came to the USA about three years ago after having lived in Dubai for more than five years where I met my wife while she was working for the military and based in Germany. We have a new baby born on the 24th of October 2016 whom we named Jared Russel.
I started coding more than one year ago and most of my knowledge I gained online on platforms such a s Khan Academy and Code Academy. Then I learned about Telegraph Academy and what they represented and was immediately drawn towards it. Telegraph aims to bridge the technology gap between the underrepresented in the field.
I am so excited that soon I will be able to seemingly create stuff out of thin air, and I am particularly excited about the prospect that I will be able to create animations and bring joy and laughter to people through my  animations as I remember growing up and seeing cartoons and how they made my day every time I watched them. Being able to be a small part of a community that will continue spreading laughter and happiness in the world is what really excites me in technology.
I have been attending Hack Reactor for two weeks now and it has been such a joy to learn so much stuff in such a short period of time. The learning pace  at hack reactor is very fast and very enjoyable at the same time because everyday I go home fulfilled with the thought that I am growing and becoming a better programmer each and every single day.
I would love to work for a medium to large company after graduation and learn even more about coding. I would also love to teach coding to kids and capture their imagination through technology. The support I am getting in my journey to become a software engineer is just amazing and overwhelming and it makes this journey very enjoyable and smoother than most undertakings I have been involved with.

Savaughn Jones
 
How did you hear about the Docker scholarship?
My college friend and Hack Reactor alumni told me about the Docker scholarship. I think he found out about it through a blog post.
Why did you choose Hack Reactor/Telegraph Academy and what excites you about coding?
Two of my college friends completed the Hack Reactor program and their lives improved exponentially. I have always wanted to get into coding and I heard that Hack Reactor was the Harvard of coding bootcamps.
You&;ve been in the program a few weeks, describe your experience so far. What have you enjoyed the most?
I am amazed at how much I have learned in two months. I was always skeptical about learning enough to deserve the title of software engineer. The most amazing thing is the ability to learn new things.
What are your goals/plans after graduation?
I have applied for a Hacker in Residence position at Hack Reactor. It would be like a paid internship of sorts. Otherwise, my plan is to get a job ASAP and continue to pick up new skills and technologies. My ultimate goals are to develop for augmented reality platforms and start my own augmented reality based tabletop gaming company.

Interested in attending @HackReactor? Apply for a Docker Scholarship! Learn more and apply hereClick To Tweet

The post Now Open: 2017 Docker Scholarship &; Meet the 2016 Recipients! appeared first on Docker Blog.
Quelle: https://blog.docker.com/feed/

6 short sentences that sparked the creation of a cognitive app

It started on a busy morning expressway in an unfamiliar city. Three of us were on our way to a meeting that was a little further away than we thought.
While watching the driving app, we suddenly realized that we were in the wrong lane to make a sudden turn. Waiting precariously in the wrong lane, with the turn signal on, we were expecting the worst.
What happened next was something that took us all by surprise: a random act of kindness. A large, black pickup truck was letting us over. From the front seat, I heard, “That would have never happened where I live.”
The discussion continued, with no one quite ready to give up that positive feeling just yet. Someone asked, “Wouldn’t it be nice if we could give him a tip?”
Just then, an idea was born out of six short sentences:
Hey Team,
Driving into the lab today, we were in the wrong lane and Prasad had to cut in line. A nice person allowed us in, and Simon commented that this would never have happened in my city. In fact, everyone would be trying to cut in and everyone else would be trying to keep them from cutting in. I commented that we need a way of tipping the nice person for being courteous. Which got me to thinking, why don&;t we have a way to do this?  Maybe people would be encouraged to be more helpful — seems like it&8217;s something that wouldn&8217;t be too hard to do with the Internet of Things, cell phones, and PayPal or Bitcoin.
As part of a newly formed team, we felt the need to have a regularly scheduled informal meeting to bring everyone together to talk about ideas.  It didn’t have to be related to the work, just a creative time to toss ideas around, and in the process, learn more about the members of our team.
Then, by serendipity, we received notice about a Connect to Cloud Cognitive Build initiative kicking off. Four of us took on the challenge, and the wheels started turning. What if we created an app that would reward random acts of kindness? What would that look like? How could we be part of creating a gratitude network?
The idea quickly took off. It wasn’t a hard sell to create something pretty cool that could also make the world a better place. Everyone seemed to have an emotional response to the idea of a new way to express gratitude. But to be able to submit it into the Connect to Cloud Cognitive Build initiative, we quickly needed to move from “what if?” to “how would?”
The ideas started to flow as we asked more focused questions. What industry did it make the most sense to hook into to understand pain points that this app might solve? What would be a value add to customers and provide a interactive experience right at that point of random kindness?
The answer was the insurance industry. After all, a considerate driver is a safer driver.
With technology industry tools at hand, we had a head start for understanding what might be possible. We knew pretty quickly how we could create a prototype. But there needed to be a Cognitive component, which opened a new window of possibility regarding what services we could provide to customers.
We brainstormed about all the cognitive APIs we had at our fingertips.  What components would help us? Which were must haves? An architecture began to evolve as we solved each small problem.
The app is starting to take shape as our team begins to design and compile the component pieces. Our core team of Padma Chukka, Soad Abuelnaga, Neil Delima and myself, plus several incredible volunteers, are excited about the opportunities we’re discovering on this journey. The energy that it has brought to the team is a huge side benefit. Most of all, we never lose sight of those six quick sentences and the chance to make the world a tiny bit more courteous.
Learn more about how IBM is helping clients take advantage of the digital economy.
Padma Chukka, Soad Abu El-Naga and Neil Delima contributed to this article.
The post 6 short sentences that sparked the creation of a cognitive app appeared first on news.
Quelle: Thoughts on Cloud