Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup principles #209

Merged
merged 1 commit into from
Oct 7, 2015
Merged

Cleanup principles #209

merged 1 commit into from
Oct 7, 2015

Conversation

duglin
Copy link
Contributor

@duglin duglin commented Oct 2, 2015

I didn't really change much, just moved somes stuff around and expanded
a little more in number 5.

I moved all of the physical shipping container stuff to just the into
because while its a cute analogy, repeating it over and over just got
in the way of the real points - and by number 5 we ended up having more text
about shipping containers than our containers - which was just weird.

Signed-off-by: Doug Davis dug@us.ibm.com

A great analogy for this is the shipping container.
Just like how Standard Containers are a fundamental unit of software delivery, shipping containers are a fundamental unit of physical delivery.
The goal of a Standard Container is to encapsulate a software component and
all its dependencies in a format that is self-describing and portable, so that
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Markdown policy is one sentence per line (which is where the long lines from the original came from ;).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can switch it if people want, I'm just used to the docker practice of trying not to span 80 chars. No biggie.

@wking
Copy link
Contributor

wking commented Oct 2, 2015

On Fri, Oct 02, 2015 at 06:48:28AM -0700, Doug Davis wrote:

I moved all of the physical shipping container stuff to just the
[intro] because while its a cute analogy, repeating it over and over
just got in the way of the real points…

+1 to this.

  • and by number 5 we ended up having more text about shipping
    containers than our containers - which was just weird.

I still think it would be nice to have more clarity about what
“Industrial-grade delivery” is about (both for the container ecosystem
as a whole, and for this spec in particular), but that's been
contentious in the past [1,2], so it's probably best to leave it out
of this PR ;).

@vbatts
Copy link
Member

vbatts commented Oct 2, 2015

@duglin across the whole doc, we do formatting of a sentence on each line (no line wraps in a sentence).

@duglin
Copy link
Contributor Author

duglin commented Oct 2, 2015

okie dokie - one sentence per line.

A great analogy for this is the shipping container.
Just like how Standard Containers are a fundamental unit of software delivery, shipping containers are a fundamental unit of physical delivery.
1. configuration file formats
2. a set of standard operations
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wondered if you were going to touch this, as it bothered you some weeks ago

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well, this round is more about clean-up - with just a touch of clarity. The entire 'standard operations' thing is still a bit of a mystery to me since I don't know how you define an operation w/o defining something like an interface or API :-)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fair

@vbatts
Copy link
Member

vbatts commented Oct 2, 2015

all-in-all, I'm not opposed. The traditional container is referenced early, but then the similarities are expressed in the sections. For verbosity sake, every 1:1 analogy is not needed.

@mrunalp
Copy link
Contributor

mrunalp commented Oct 5, 2015

Looks good overall. @crosbymichael @philips PTAL

Both types of containers are INFRASTRUCTURE-AGNOSTIC: they can be transported to thousands of facilities around the world, and manipulated by a wide variety of equipment.
A shipping container can be packed in a factory in Ukraine, transported by truck to the nearest routing center, stacked onto a train, loaded into a German boat by an Australian-built crane, stored in a warehouse at a US facility, etc.
Similarly, a standard container can be bundled on my laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made Openstack cluster, then sent to 30 production instances across 3 EC2 regions.
Standard Containers are INFRASTRUCTURE-AGNOSTIC: they can be run in any OCI compliant infrastructure.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/OCI compliant infrastructure./OCI supported infrastructure.

This kinda makes it sound like we are going to have compliance testing for hardware or something like that. The burden would be on us or the runtimes to support the infrastructure, not a burden on the infrastructure providers.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


## 4. Designed for automation

Because they offer the same standard operations regardless of content and infrastructure, Standard Containers, just like their physical counterparts, are extremely well-suited for automation.
In fact, you could say automation is their secret weapon.
Standard Containers are DESIGNED FOR AUTOMATION: because they offer the same standard operations regardless of content and infrastructure, Standard Containers, are extremely well-suited for automation. In fact, you could say automation is their secret weapon.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one sentence per line, please

@vbatts
Copy link
Member

vbatts commented Oct 7, 2015

couple of nits, but LGTM

@duglin
Copy link
Contributor Author

duglin commented Oct 7, 2015

fixed the multiple sentences per line issues that @vbatts found.

@vbatts
Copy link
Member

vbatts commented Oct 7, 2015

LGTM

A shipping container can be packed in a factory in Ukraine, transported by truck to the nearest routing center, stacked onto a train, loaded into a German boat by an Australian-built crane, stored in a warehouse at a US facility, etc.
Similarly, a standard container can be bundled on my laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made Openstack cluster, then sent to 30 production instances across 3 EC2 regions.
Standard Containers are INFRASTRUCTURE-AGNOSTIC: they can be run in any OCI supported infrastructure.
For example, a standard container can be bundled on a laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made OpenStack cluster, then sent to 30 production instances across 3 EC2 regions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is inappropriate to mention specific infrastructure since someone will always be left out of such examples. Suggest rewording (e.g. "S3" = "cloud storage", OpenStack = "private cloud", "EC2 regions" = "public cloud regions"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point.

On Wed, Oct 7, 2015 at 12:36 PM, Ross Gardler notifications@github.com
wrote:

In principles.md
#209 (comment):

3. Infrastructure-agnostic

-Both types of containers are INFRASTRUCTURE-AGNOSTIC: they can be transported to thousands of facilities around the world, and manipulated by a wide variety of equipment.
-A shipping container can be packed in a factory in Ukraine, transported by truck to the nearest routing center, stacked onto a train, loaded into a German boat by an Australian-built crane, stored in a warehouse at a US facility, etc.
-Similarly, a standard container can be bundled on my laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made Openstack cluster, then sent to 30 production instances across 3 EC2 regions.
+Standard Containers are INFRASTRUCTURE-AGNOSTIC: they can be run in any OCI supported infrastructure.
+For example, a standard container can be bundled on a laptop, uploaded to S3, downloaded, run and snapshotted by a build server at Equinix in Virginia, uploaded to 10 staging servers in a home-made OpenStack cluster, then sent to 30 production instances across 3 EC2 regions.

It is inappropriate to mention specific infrastructure since someone will
always be left out of such examples. Suggest rewording (e.g. "S3" = "cloud
storage", OpenStack = "private cloud", "EC2 regions" = "public cloud
regions"


Reply to this email directly or view it on GitHub
https://github.com/opencontainers/specs/pull/209/files#r41413405.

@duglin
Copy link
Contributor Author

duglin commented Oct 7, 2015

@rgardler fixed

@mrunalp
Copy link
Contributor

mrunalp commented Oct 7, 2015

LGTM ping @crosbymichael @philips @LK4D4 @vishh

@vbatts
Copy link
Member

vbatts commented Oct 7, 2015

waiting for one more wording switch

@duglin
Copy link
Contributor Author

duglin commented Oct 7, 2015

done

I didn't really change much, just moved somes stuff around and expanded
a little more in number 5.

I moved all of the physical shipping container stuff to just the into
because while its a cute analogy, repeating it over and over just got
in the way of the real point - and by number 5 we endedup having more text
about shipping containers than our containers - which was just weird.

Signed-off-by: Doug Davis <dug@us.ibm.com>
Shipping containers can be lifted, stacked, locked, loaded, unloaded and labelled.
Similarly, Standard Containers can be created, started, and stopped using standard container tools (what this spec is about); copied and snapshotted using standard filesystem tools; and downloaded and uploaded using standard network tools.
Standard Containers define a set of STANDARD OPERATIONS.
They can be created, started, and stopped using standard container tools; copied and snapshotted using standard filesystem tools; and downloaded and uploaded using standard network tools.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add more clarity here? What is required for hosting these containers to come up with standard network tools? Will OCI define APIs for these purpose?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On Wed, Oct 07, 2015 at 10:12:46AM -0700, Vish Kannan wrote:

+They can be created, started, and stopped using standard
container tools; copied and snapshotted using standard filesystem
tools; and downloaded and uploaded using standard network tools.

Can we add more clarity here? What is required for hosting these
containers to come up with standard network tools? Will OCI define
APIs for these purpose?

Can we punt on this for now? I think transfering these files with
tar/Nginx/curl, or tar/netcat, or IPFS, etc., etc., should be fine.
But this has been a hot-button issue in the past, and I'd rather avoid
having discussion about that stall this rewording PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The entire "standard operations" concept is one I'm struggling with and plan on opening a PR on once I get formulate a coherent proposal in my head. So for now I'd prefer if this PR just focused on cleaning up the docs - leaving the hard (potentially controversial) changes for more focused PRs.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah. for now, this is just carry over from the prior wording, but this is the fuzziest of terms. Let's clear it up in another PR.

@vbatts
Copy link
Member

vbatts commented Oct 7, 2015

cool.

vbatts added a commit that referenced this pull request Oct 7, 2015
@vbatts vbatts merged commit 663ba52 into opencontainers:master Oct 7, 2015
@duglin duglin deleted the modPrinciples branch October 13, 2015 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants