From 7cfc92e26f27e506b661b9be95fb0e448e6d906f Mon Sep 17 00:00:00 2001 From: Yishan Lin Date: Mon, 10 Jun 2019 14:08:15 -0700 Subject: [PATCH 01/32] Revised Nomad Enterprise page - Revised Enterprise content to reflect new pricing & packaging modules - Consolidated feature pages into single Enterprise pager - Made each feature into its own subsection on the Enterprise page - Added direct links to their respective guides below - Upleveled all Enterprise features onto the navbar - Updated redirects --- website/redirects.txt | 19 +++++ .../docs/enterprise/autopilot/index.html.md | 45 ------------ website/source/docs/enterprise/index.html.md | 71 ++++++++++++++----- .../docs/enterprise/namespaces/index.html.md | 26 ------- .../docs/enterprise/preemption/index.html.md | 28 -------- .../docs/enterprise/quotas/index.html.md | 23 ------ .../docs/enterprise/sentinel/index.html.md | 36 ---------- .../source/guides/operations/index.html.md | 7 +- website/source/layouts/docs.erb | 22 +++--- 9 files changed, 89 insertions(+), 188 deletions(-) delete mode 100644 website/source/docs/enterprise/autopilot/index.html.md delete mode 100644 website/source/docs/enterprise/namespaces/index.html.md delete mode 100644 website/source/docs/enterprise/preemption/index.html.md delete mode 100644 website/source/docs/enterprise/quotas/index.html.md delete mode 100644 website/source/docs/enterprise/sentinel/index.html.md diff --git a/website/redirects.txt b/website/redirects.txt index e8c9f18ff06..cc1eb037de3 100644 --- a/website/redirects.txt +++ b/website/redirects.txt @@ -217,3 +217,22 @@ /guides/operations/upgrade/ /guides/upgrade/index.html /guides/operations/upgrade/index.html /guides/upgrade/index.html /guides/operations/upgrade/upgrade-specific.html /guides/upgrade/upgrade-specific.html + +# Enterprise + +# Reorganized Enterprise into single pager +/docs/enterprise/namespaces /docs/enterprise/index.html#namespaces +/docs/enterprise/namespaces/ /docs/enterprise/index.html#namespaces +/docs/enterprise/namespaces/index.html /docs/enterprise/index.html#namespaces +/docs/enterprise/quotas /docs/enterprise/index.html#resource-quotas +/docs/enterprise/quotas/ /docs/enterprise/index.html#resource-quotas +/docs/enterprise/quotas/index.html /docs/enterprise/index.html#resource-quotas +/docs/enterprise/preemption /docs/enterprise/index.html#preemption +/docs/enterprise/preemption/ /docs/enterprise/index.html#preemption +/docs/enterprise/preemption/index.html /docs/enterprise/index.html#preemption +/docs/enterprise/sentinel /docs/enterprise/index.html#sentinel-policies +/docs/enterprise/sentinel/ /docs/enterprise/index.html#sentinel-policies +/docs/enterprise/sentinel/index.html /docs/enterprise/index.html#sentinel-policies +/docs/enterprise/autopilot /docs/enterprise/index.html#nomad-enterprise-platform +/docs/enterprise/autopilot/ /docs/enterprise/index.html#nomad-enterprise-platform +/docs/enterprise/autopilot/index.html /docs/enterprise/index.html#nomad-enterprise-platform diff --git a/website/source/docs/enterprise/autopilot/index.html.md b/website/source/docs/enterprise/autopilot/index.html.md deleted file mode 100644 index a4a061538e7..00000000000 --- a/website/source/docs/enterprise/autopilot/index.html.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -layout: "docs" -page_title: "Nomad Enterprise Advanced Autopilot" -sidebar_current: "docs-enterprise-autopilot" -description: |- - Nomad Enterprise supports Advanced Autopilot capabilities which enable fully - automated server upgrades, higher throughput for reads and scheduling, and hot - server failover on a per availability zone basis. ---- - -# Nomad Enterprise Advanced Autopilot - -[Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise) supports Advanced Autopilot capabilities which enable fully -automated server upgrades, higher throughput for reads and scheduling, and hot -server failover on a per availability zone basis. See the sections below for -additional details on each of these capabilities. - -* **Automated Upgrades:** Advanced Autopilot enables an upgrade pattern that -allows operators to deploy a complete cluster of new servers and then simply wait -for the upgrade to complete. As the new servers join the cluster, server -introduction logic checks the version of each Nomad server. If the version is -higher than the version on the current set of voters, it will avoid promoting -the new servers to voters until the number of new servers matches the number of -existing servers at the previous version. Once the numbers match, Autopilot will -begin to promote new servers and demote old ones. - -* **Enhanced Read Scalability:** With Advanced Autopilot, servers can be -explicitly marked as non-voters. Non-voters will receive the replication stream -but will not take part in quorum (required by the leader before log entries can -be committed). Adding explicit non-voters will scale reads and scheduling without -impacting write latency. - -* **Redundancy Zones:** Advanced Autopilot redundancy zones make it possible to -have more servers than availability zones. For example, in an environment with -three availability zones it's now possible to run one voter and one non-voter in -each availability zone, for a total of six servers. If an availability zone is -completely lost, only one voter will be lost, so the cluster remains available. -If a voter is lost in an availability zone, Autopilot will promote the non-voter -to voter automatically, putting the hot standby server into service quickly. - -See the [Nomad Autopilot Guide](/guides/operations/autopilot.html) -for a comprehensive overview of Nomad's open source and enterprise Autopilot features. - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or -request a trial of Nomad Enterprise. diff --git a/website/source/docs/enterprise/index.html.md b/website/source/docs/enterprise/index.html.md index d58bed55caa..3c7cb1cb8ac 100644 --- a/website/source/docs/enterprise/index.html.md +++ b/website/source/docs/enterprise/index.html.md @@ -9,24 +9,57 @@ description: |- # Nomad Enterprise -[Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise) adds collaboration, -operational, and governance capabilities to Nomad. Namespaces allow multiple -teams to safely use a shared multi-region deployment. With Resource Quotas, -operators can limit resource consumption across teams or projects. Sentinel -policies enable enforcement of arbitrary fine-grained policies on job submission. -Preemption capabilities enable the scheduler to temporarily evict lower priority -allocations for service and batch jobs so that higher priority allocations can be placed. -Advanced Autopilot capabilities enable automated server upgrades, enhanced scalability -for reads and scheduling, and hot server failover on a per availability zone basis. See the -links below for a detailed overview of each feature. - -- [Namespaces](/docs/enterprise/namespaces/index.html) -- [Resource Quotas](/docs/enterprise/quotas/index.html) -- [Sentinel Policies](/docs/enterprise/sentinel/index.html) -- [Preemption](/docs/enterprise/preemption/index.html) -- [Advanced Autopilot](/docs/enterprise/autopilot/index.html) - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or request a trial -of Nomad Enterprise. +Nomad Enterprise adds collaboration, operational, and governance capabilities to Nomad. + +Nomad Enterprise is available as a base Platform package with an optional Governance & Policy module. + +Please navigate the sub-sections for more information about each package and its features in detail. + +## Nomad Enterprise Platform +Nomad Enterprise Platform enables users to deploy Nomad with operational ease and enhanced performance through Advanced Autopilot features such as Automated Upgrades, Enhanced Read Scalability, Redundancy Zones and more. + +### Automated Upgrades +Allows operators to deploy a complete cluster of new servers and then simply wait for the upgrade to complete. As the new servers join the cluster, server logic checks the version of each Nomad server node. If the version is higher than the version on the current set of voters, it will avoid promoting the new servers to voters until the number of new servers matches the number of existing servers at the previous version. Once the numbers match, Nomad will begin to promote new servers and demote old ones. + +See the [Autopilot Upgrade](https://www.nomadproject.io/guides/operations/autopilot.html#upgrade-migrations) subsection for a thorough overview. + +### Enhanced Read Scalability +Explicitly mark server nodes as non-voters. Non-voters will receive the replication stream but will not take part in quorum (required by the leader before log entries can be committed). Adding explicit non-voters will scale reads and scheduling without impacting write latency. + +See the [Autopilot Read Scalability](https://www.nomadproject.io/guides/operations/autopilot.html#server-read-and-scheduling-scaling) subsection for a thorough overview. + +### Redundancy Zones +Deploy more server nodes than availability zones. For example, in an environment with three availability zones one can run one voter and one non-voter in each availability zone, for a total of six servers. If an availability zone is completely lost, only one voter will be lost, so the cluster remains available. If a voter is lost in an availability zone, Nomad will promote the non-voter to voter automatically, putting the hot standby server into service quickly. + +See the [Autopilot Redundancy Zones](https://www.nomadproject.io/guides/operations/autopilot.html#redundancy-zones) subsection for a thorough overview. + +## Governance & Policy +Governance & Policy is an add-on module that enables users to securely operate Nomad at scale across multiple teams through features such as Namespaces, Resource Quotas, Preemption, Sentinel Policies, and more. +### Namespaces +Enable multiple teams to safely use a shared multi-region deployment and reduce cluster fleet size. In Nomad Enterprise, a shared cluster can be partitioned into namespaces which allows jobs and their associated objects to be isolated from each other and other users of the cluster. +Namespaces enhance the usability of a shared cluster by isolating teams from the jobs of others, provide fine grain access control to jobs when coupled with ACLs, and can prevent bad actors from negatively impacting the whole cluster. + +See the [Namespaces Guide](https://www.nomadproject.io/docs/enterprise/namespaces/index.html) for a thorough overview. + +### Resource Quotas +Limit resource consumption across teams or projects to reduce waste and align budgets. In Nomad Enterprise, operators can define quota specifications and apply them to namespaces. When a quota is attached to a namespace, the jobs within the namespace may not consume more resources than the quota specification allows. + +This allows operators to partition a shared cluster and ensure that no single actor can consume the whole resources of the cluster. See the Resource Quotas Guide for more details. + +See the [Resource Quotas Guide](https://www.nomadproject.io/docs/enterprise/quotas/index.html) for a thorough overview. + +### Preemption +When a Nomad cluster is at capacity for a given set of placement constraints, any allocations that result from a newly scheduled service or batch job will remain in the pending state until sufficient resources become available - regardless of the defined priority. + +Enable the scheduler to automatically evict lower priority allocations of service and batch jobs so that allocations from higher priority jobs can be placed. This behavior ensures that critical workloads can run when resources are limited or when partial outages require workloads to be rescheduled across a smaller set of client nodes. + +### Sentinel Policies +In Nomad Enterprise, operators can create Sentinel policies for fine-grained policy enforcement. Sentinel policies build on top of the ACL system and allow operators to define policies such as disallowing jobs to be submitted to production on Fridays. These extremely rich policies are defined as code. + +See the [Sentinel Policies Guide](https://www.nomadproject.io/guides/governance-and-policy/sentinel/sentinel-policy.html) for a thorough overview. + +## Try Nomad Enterprise +Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or request a trial +of Nomad Enterprise. diff --git a/website/source/docs/enterprise/namespaces/index.html.md b/website/source/docs/enterprise/namespaces/index.html.md deleted file mode 100644 index 53796f7e117..00000000000 --- a/website/source/docs/enterprise/namespaces/index.html.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: "docs" -page_title: "Nomad Enterprise Namespaces" -sidebar_current: "docs-enterprise-namespaces" -description: |- - Nomad Enterprise provides support for namespaces, which allows jobs and their - associated objects to be segmented from each other and other users of the - cluster. ---- - -# Nomad Enterprise Namespaces - -In [Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise), a shared -cluster can be partitioned into [namespaces](/guides/governance-and-policy/namespaces.html) which allows -jobs and their associated objects to be isolated from each other and other users -of the cluster. - -Namespaces enhance the usability of a shared cluster by isolating teams from the -jobs of others, provide fine grain access control to jobs when coupled with -[ACLs](/guides/security/acl.html), and can prevent bad actors from negatively impacting -the whole cluster when used in conjunction with -[resource quotas](/guides/governance-and-policy/quotas.html). See the -[Namespaces Guide](/guides/governance-and-policy/namespaces.html) for a thorough overview. - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or -request a trial of Nomad Enterprise. diff --git a/website/source/docs/enterprise/preemption/index.html.md b/website/source/docs/enterprise/preemption/index.html.md deleted file mode 100644 index eeb61cbfdb6..00000000000 --- a/website/source/docs/enterprise/preemption/index.html.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: "docs" -page_title: "Nomad Enterprise Preemption" -sidebar_current: "docs-enterprise-preemption" -description: |- - Nomad Enterprise preemption capabilities enable the scheduler to temporarily - evict lower priority allocations for service and batch jobs so that - higher priority allocations can be placed. ---- - -# Nomad Enterprise Preemption - -When a Nomad cluster is at capacity for a given set of placement constraints, any allocations -that result from a newly scheduled service or batch job will remain in the pending state until -sufficient resources become available - regardless of the defined priority. - -[Preemption](/docs/internals/scheduling/preemption.html) capabilities in -[Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise) enable the scheduler to temporarily -evict lower [priority](/docs/job-specification/job.html#priority) allocations from service and -batch jobs so that the allocations from higher priority jobs can be placed. This behavior -ensures that critical workloads can run when resources are limited or when partial outages require -workloads to be rescheduled across a smaller set of client nodes. - -See the [Preemption internals documentation](/docs/internals/scheduling/preemption.html) for a -more detailed overview. Preemption for service and batch jobs can be enabled using the [scheduler config API endpoint](/api/operator.html#update-scheduler-configuration). - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or -request a trial of Nomad Enterprise. \ No newline at end of file diff --git a/website/source/docs/enterprise/quotas/index.html.md b/website/source/docs/enterprise/quotas/index.html.md deleted file mode 100644 index 066ee283622..00000000000 --- a/website/source/docs/enterprise/quotas/index.html.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: "docs" -page_title: "Nomad Enterprise Resource Quotas" -sidebar_current: "docs-enterprise-quotas" -description: |- - Nomad Enterprise provides support for applying resource quotas to namespaces - which restricts the overall resources that jobs within the namespace are - allowed to consume. ---- - -# Nomad Enterprise Resource Quotas - -In [Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise), operators can -define [quota specifications](/guides/governance-and-policy/quotas.html) and apply them to namespaces. -When a quota is attached to a namespace, the jobs within the namespace may not -consume more resources than the quota specification allows. - -This allows operators to partition a shared cluster and ensure that no single -actor can consume the whole resources of the cluster. See the -[Resource Quotas Guide](/guides/governance-and-policy/quotas.html) for more details. - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or -request a trial of Nomad Enterprise. diff --git a/website/source/docs/enterprise/sentinel/index.html.md b/website/source/docs/enterprise/sentinel/index.html.md deleted file mode 100644 index ecce755274d..00000000000 --- a/website/source/docs/enterprise/sentinel/index.html.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -layout: "docs" -page_title: "Nomad Enterprise Sentinel Policy Enforcement" -sidebar_current: "docs-enterprise-sentinel" -description: |- - Nomad Enterprise provides support for policy enforcement using Sentinel. ---- - -# Nomad Enterprise Sentinel Policy Enforcement - -In [Nomad Enterprise](https://www.hashicorp.com/go/nomad-enterprise), operators can -create [Sentinel policies](/guides/governance-and-policy/sentinel/sentinel-policy.html) for fine-grained policy -enforcement. Sentinel policies build on top of the ACL system and allow operators to define -policies such as disallowing jobs to be submitted to production on -Fridays. These extremely rich policies are defined as code. For example, to -restrict jobs to only using the Docker driver, the operator would define and apply -the following policy: - -``` -# Only allows Docker based tasks -main = rule { all_drivers_docker } - -# all_drivers_docker checks that all the drivers in use are Docker -all_drivers_docker = rule { - all job.task_groups as tg { - all tg.tasks as task { - task.driver is "docker" - } - } -} -``` - -See the [Sentinel Policies Guide](/guides/governance-and-policy/sentinel/sentinel-policy.html) for additional details and examples. - -Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or -request a trial of Nomad Enterprise. diff --git a/website/source/guides/operations/index.html.md b/website/source/guides/operations/index.html.md index 82403fa74ae..089563343ee 100644 --- a/website/source/guides/operations/index.html.md +++ b/website/source/guides/operations/index.html.md @@ -8,6 +8,7 @@ description: |- # Nomad Operations -The Nomad Operations guides section provides best practices and guidance for -operating Nomad in a real-world production setting. Please navigate the -appropriate sub-sections for more information. \ No newline at end of file +The Nomad Operations guides section provides best practices and guidance for +operating Nomad in a real-world production setting. + +Please navigate the appropriate sub-sections for more information. diff --git a/website/source/layouts/docs.erb b/website/source/layouts/docs.erb index 4c9b6b750f1..e8deffbb63b 100644 --- a/website/source/layouts/docs.erb +++ b/website/source/layouts/docs.erb @@ -521,20 +521,26 @@ > Nomad Enterprise From 9de458457e6ad62576258a0b3af3ca34f033edaf Mon Sep 17 00:00:00 2001 From: Yishan Lin Date: Fri, 14 Jun 2019 11:25:30 -0700 Subject: [PATCH 02/32] Added revised copy from rcgenova to feature paragraphs. --- website/source/docs/enterprise/index.html.md | 38 ++++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/website/source/docs/enterprise/index.html.md b/website/source/docs/enterprise/index.html.md index 3c7cb1cb8ac..8ffdb7b101d 100644 --- a/website/source/docs/enterprise/index.html.md +++ b/website/source/docs/enterprise/index.html.md @@ -9,57 +9,55 @@ description: |- # Nomad Enterprise -Nomad Enterprise adds collaboration, operational, and governance capabilities to Nomad. - -Nomad Enterprise is available as a base Platform package with an optional Governance & Policy module. +Nomad Enterprise adds collaboration, operational, and governance capabilities to Nomad. Nomad Enterprise is available as a base Platform package with an optional Governance & Policy add-on module. Please navigate the sub-sections for more information about each package and its features in detail. ## Nomad Enterprise Platform -Nomad Enterprise Platform enables users to deploy Nomad with operational ease and enhanced performance through Advanced Autopilot features such as Automated Upgrades, Enhanced Read Scalability, Redundancy Zones and more. +Nomad Enterprise Platform enables operators to easily upgrade Nomad as well as enhanced performance and availability through Advanced Autopilot features such as Automated Upgrades, Enhanced Read Scalability, and Redundancy Zones. ### Automated Upgrades -Allows operators to deploy a complete cluster of new servers and then simply wait for the upgrade to complete. As the new servers join the cluster, server logic checks the version of each Nomad server node. If the version is higher than the version on the current set of voters, it will avoid promoting the new servers to voters until the number of new servers matches the number of existing servers at the previous version. Once the numbers match, Nomad will begin to promote new servers and demote old ones. +Automated Upgrades allows operators to deploy a complete cluster of new servers and then simply wait for the upgrade to complete. As the new servers join the cluster, server logic checks the version of each Nomad server node. If the version is higher than the version on the current set of voters, it will avoid promoting the new servers to voters until the number of new servers matches the number of existing servers at the previous version. Once the numbers match, Nomad will begin to promote new servers and demote old ones. -See the [Autopilot Upgrade](https://www.nomadproject.io/guides/operations/autopilot.html#upgrade-migrations) subsection for a thorough overview. +See the [Autopilot - Upgrade Migrations](https://www.nomadproject.io/guides/operations/autopilot.html#upgrade-migrations) documentation for a thorough overview. ### Enhanced Read Scalability -Explicitly mark server nodes as non-voters. Non-voters will receive the replication stream but will not take part in quorum (required by the leader before log entries can be committed). Adding explicit non-voters will scale reads and scheduling without impacting write latency. +This feature enables an operator to introduce non-voting server nodes to a Nomad cluster. Non-voting servers will receive the replication stream but will not take part in quorum (required by the leader before log entries can be committed). Adding explicit non-voters will scale reads and scheduling without impacting write latency. -See the [Autopilot Read Scalability](https://www.nomadproject.io/guides/operations/autopilot.html#server-read-and-scheduling-scaling) subsection for a thorough overview. +See the [Autopilot - Read Scalability](https://www.nomadproject.io/guides/operations/autopilot.html#server-read-and-scheduling-scaling) documentation for a thorough overview. ### Redundancy Zones -Deploy more server nodes than availability zones. For example, in an environment with three availability zones one can run one voter and one non-voter in each availability zone, for a total of six servers. If an availability zone is completely lost, only one voter will be lost, so the cluster remains available. If a voter is lost in an availability zone, Nomad will promote the non-voter to voter automatically, putting the hot standby server into service quickly. +Redundancy Zones enables an operator to deploy a non-voting server as a hot standby server on a per availability zone basis. For example, in an environment with three availability zones one can run one voter and one non-voter in each availability zone, for a total of six servers. If an availability zone is completely lost, only one voter will be lost, so the cluster remains available. If a voter is lost in an availability zone, Nomad will promote the non-voter to voter automatically, putting the hot standby server into service quickly. -See the [Autopilot Redundancy Zones](https://www.nomadproject.io/guides/operations/autopilot.html#redundancy-zones) subsection for a thorough overview. +See the [Autopilot - Redundancy Zones](https://www.nomadproject.io/guides/operations/autopilot.html#redundancy-zones) documentation for a thorough overview. ## Governance & Policy -Governance & Policy is an add-on module that enables users to securely operate Nomad at scale across multiple teams through features such as Namespaces, Resource Quotas, Preemption, Sentinel Policies, and more. +Governance & Policy features are part of an add-on module that enables an organization to securely operate Nomad at scale across multiple teams through features such as Namespaces, Resource Quotas, Sentinel Policies, and Preemption. ### Namespaces -Enable multiple teams to safely use a shared multi-region deployment and reduce cluster fleet size. In Nomad Enterprise, a shared cluster can be partitioned into namespaces which allows jobs and their associated objects to be isolated from each other and other users of the cluster. +Namespaces enable multiple teams to safely use a shared multi-region Nomad environment and reduce cluster fleet size. In Nomad Enterprise, a shared cluster can be partitioned into multiple namespaces which allow jobs and their associated objects to be isolated from each other and other users of the cluster. Namespaces enhance the usability of a shared cluster by isolating teams from the jobs of others, provide fine grain access control to jobs when coupled with ACLs, and can prevent bad actors from negatively impacting the whole cluster. See the [Namespaces Guide](https://www.nomadproject.io/docs/enterprise/namespaces/index.html) for a thorough overview. ### Resource Quotas -Limit resource consumption across teams or projects to reduce waste and align budgets. In Nomad Enterprise, operators can define quota specifications and apply them to namespaces. When a quota is attached to a namespace, the jobs within the namespace may not consume more resources than the quota specification allows. +Resource Quotas enable an operator to limit resource consumption across teams or projects to reduce waste and align budgets. In Nomad Enterprise, operators can define quota specifications and apply them to namespaces. When a quota is attached to a namespace, the jobs within the namespace may not consume more resources than the quota specification allows. -This allows operators to partition a shared cluster and ensure that no single actor can consume the whole resources of the cluster. See the Resource Quotas Guide for more details. +This allows operators to partition a shared cluster and ensure that no single actor can consume the whole resources of the cluster. See the [Resource Quotas Guide](https://www.nomadproject.io/docs/enterprise/quotas/index.html) for a thorough overview. -### Preemption -When a Nomad cluster is at capacity for a given set of placement constraints, any allocations that result from a newly scheduled service or batch job will remain in the pending state until sufficient resources become available - regardless of the defined priority. - -Enable the scheduler to automatically evict lower priority allocations of service and batch jobs so that allocations from higher priority jobs can be placed. This behavior ensures that critical workloads can run when resources are limited or when partial outages require workloads to be rescheduled across a smaller set of client nodes. - ### Sentinel Policies -In Nomad Enterprise, operators can create Sentinel policies for fine-grained policy enforcement. Sentinel policies build on top of the ACL system and allow operators to define policies such as disallowing jobs to be submitted to production on Fridays. These extremely rich policies are defined as code. +In Nomad Enterprise, operators can create Sentinel policies for fine-grained policy enforcement. Sentinel policies build on top of the ACL system and allow operators to define policies such as disallowing jobs to be submitted to production on Fridays or only allowing users to run jobs that use pre-authorized Docker images. Sentinel policies are defined as code, giving operators considerable flexibility to meet compliance requirements. See the [Sentinel Policies Guide](https://www.nomadproject.io/guides/governance-and-policy/sentinel/sentinel-policy.html) for a thorough overview. +### Preemption +When a Nomad cluster is at capacity for a given set of placement constraints, any allocations that result from a newly scheduled service or batch job will remain in the pending state until sufficient resources become available - regardless of the defined priority. + +Preemption enables Nomad's scheduler to automatically evict lower priority allocations of service and batch jobs so that allocations from higher priority jobs can be placed. This behavior ensures that critical workloads can run when resources are limited or when partial outages require workloads to be rescheduled across a smaller set of client nodes. + ## Try Nomad Enterprise Click [here](https://www.hashicorp.com/go/nomad-enterprise) to set up a demo or request a trial of Nomad Enterprise. From 913427428a43be42b4f23f7d7f1f27ab3f406665 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Tue, 25 Jun 2019 15:26:35 -0500 Subject: [PATCH 03/32] Remove compat code associated with many previous versions of nomad This removes compat code for namespaces (0.7), Drain(0.8) and other older features from releases older than Nomad 0.7 --- command/agent/node_endpoint.go | 28 +---- command/alloc_status.go | 2 +- command/helpers.go | 26 ---- command/job_status.go | 6 +- nomad/fsm.go | 54 --------- nomad/fsm_test.go | 78 ------------ nomad/leader.go | 28 ----- nomad/node_endpoint_test.go | 1 - nomad/state/state_store.go | 212 --------------------------------- scheduler/context.go | 12 +- 10 files changed, 7 insertions(+), 440 deletions(-) diff --git a/command/agent/node_endpoint.go b/command/agent/node_endpoint.go index cd65bc7122e..4c30a270886 100644 --- a/command/agent/node_endpoint.go +++ b/command/agent/node_endpoint.go @@ -2,9 +2,7 @@ package agent import ( "net/http" - "strconv" "strings" - "time" "github.com/hashicorp/nomad/api" "github.com/hashicorp/nomad/nomad/structs" @@ -108,30 +106,8 @@ func (s *HTTPServer) nodeToggleDrain(resp http.ResponseWriter, req *http.Request var drainRequest api.NodeUpdateDrainRequest - // COMPAT: Remove in 0.9. Allow the old style enable query param. - // Get the enable parameter - enableRaw := req.URL.Query().Get("enable") - var enable bool - if enableRaw != "" { - var err error - enable, err = strconv.ParseBool(enableRaw) - if err != nil { - return nil, CodedError(400, "invalid enable value") - } - - // Use the force drain to have it keep the same behavior as old clients. - if enable { - drainRequest.DrainSpec = &api.DrainSpec{ - Deadline: -1 * time.Second, - } - } else { - // If drain is disabled on an old client, mark the node as eligible for backwards compatibility - drainRequest.MarkEligible = true - } - } else { - if err := decodeBody(req, &drainRequest); err != nil { - return nil, CodedError(400, err.Error()) - } + if err := decodeBody(req, &drainRequest); err != nil { + return nil, CodedError(400, err.Error()) } args := structs.NodeUpdateDrainRequest{ diff --git a/command/alloc_status.go b/command/alloc_status.go index b656657b8aa..152d359868b 100644 --- a/command/alloc_status.go +++ b/command/alloc_status.go @@ -235,7 +235,7 @@ func formatAllocBasicInfo(alloc *api.Allocation, client *api.Client, uuidLength fmt.Sprintf("Node ID|%s", limit(alloc.NodeID, uuidLength)), fmt.Sprintf("Node Name|%s", alloc.NodeName), fmt.Sprintf("Job ID|%s", alloc.JobID), - fmt.Sprintf("Job Version|%d", getVersion(alloc.Job)), + fmt.Sprintf("Job Version|%d", alloc.Job.Version), fmt.Sprintf("Client Status|%s", alloc.ClientStatus), fmt.Sprintf("Client Description|%s", alloc.ClientDescription), fmt.Sprintf("Desired Status|%s", alloc.DesiredStatus), diff --git a/command/helpers.go b/command/helpers.go index 3d6eab7ff00..364c7392930 100644 --- a/command/helpers.go +++ b/command/helpers.go @@ -438,32 +438,6 @@ func (j *JobGetter) ApiJob(jpath string) (*api.Job, error) { return jobStruct, nil } -// COMPAT: Remove in 0.7.0 -// Nomad 0.6.0 introduces the submit time field so CLI's interacting with -// older versions of Nomad would SEGFAULT as reported here: -// https://github.com/hashicorp/nomad/issues/2918 -// getSubmitTime returns a submit time of the job converting to time.Time -func getSubmitTime(job *api.Job) time.Time { - if job.SubmitTime != nil { - return time.Unix(0, *job.SubmitTime) - } - - return time.Time{} -} - -// COMPAT: Remove in 0.7.0 -// Nomad 0.6.0 introduces job Versions so CLI's interacting with -// older versions of Nomad would SEGFAULT as reported here: -// https://github.com/hashicorp/nomad/issues/2918 -// getVersion returns a version of the job in safely. -func getVersion(job *api.Job) uint64 { - if job.Version != nil { - return *job.Version - } - - return 0 -} - // mergeAutocompleteFlags is used to join multiple flag completion sets. func mergeAutocompleteFlags(flags ...complete.Flags) complete.Flags { merged := make(map[string]complete.Predictor, len(flags)) diff --git a/command/job_status.go b/command/job_status.go index 63fd163e208..858355d11bb 100644 --- a/command/job_status.go +++ b/command/job_status.go @@ -169,7 +169,7 @@ func (c *JobStatusCommand) Run(args []string) int { basic := []string{ fmt.Sprintf("ID|%s", *job.ID), fmt.Sprintf("Name|%s", *job.Name), - fmt.Sprintf("Submit Date|%s", formatTime(getSubmitTime(job))), + fmt.Sprintf("Submit Date|%s", formatTime(time.Unix(0, *job.SubmitTime))), fmt.Sprintf("Type|%s", *job.Type), fmt.Sprintf("Priority|%d", *job.Priority), fmt.Sprintf("Datacenters|%s", strings.Join(job.Datacenters, ",")), @@ -462,7 +462,7 @@ func formatAllocList(allocations []*api.Allocation, verbose bool, uuidLength int limit(alloc.EvalID, uuidLength), limit(alloc.NodeID, uuidLength), alloc.TaskGroup, - getVersion(alloc.Job), + alloc.Job.Version, alloc.DesiredStatus, alloc.ClientStatus, formatUnixNanoTime(alloc.CreateTime), @@ -478,7 +478,7 @@ func formatAllocList(allocations []*api.Allocation, verbose bool, uuidLength int limit(alloc.ID, uuidLength), limit(alloc.NodeID, uuidLength), alloc.TaskGroup, - getVersion(alloc.Job), + alloc.Job.Version, alloc.DesiredStatus, alloc.ClientStatus, createTimePretty, diff --git a/nomad/fsm.go b/nomad/fsm.go index e2f47783bfc..49392d292f7 100644 --- a/nomad/fsm.go +++ b/nomad/fsm.go @@ -1135,11 +1135,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if eval.Namespace == "" { - eval.Namespace = structs.DefaultNamespace - } - if err := restore.EvalRestore(eval); err != nil { return err } @@ -1150,11 +1145,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if alloc.Namespace == "" { - alloc.Namespace = structs.DefaultNamespace - } - if err := restore.AllocRestore(alloc); err != nil { return err } @@ -1174,11 +1164,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if launch.Namespace == "" { - launch.Namespace = structs.DefaultNamespace - } - if err := restore.PeriodicLaunchRestore(launch); err != nil { return err } @@ -1189,11 +1174,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if summary.Namespace == "" { - summary.Namespace = structs.DefaultNamespace - } - if err := restore.JobSummaryRestore(summary); err != nil { return err } @@ -1213,11 +1193,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if version.Namespace == "" { - version.Namespace = structs.DefaultNamespace - } - if err := restore.JobVersionRestore(version); err != nil { return err } @@ -1228,11 +1203,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { return err } - // COMPAT: Handle upgrade to v0.7.0 - if deployment.Namespace == "" { - deployment.Namespace = structs.DefaultNamespace - } - if err := restore.DeploymentRestore(deployment); err != nil { return err } @@ -1280,30 +1250,6 @@ func (n *nomadFSM) Restore(old io.ReadCloser) error { restore.Commit() - // Create Job Summaries - // COMPAT 0.4 -> 0.4.1 - // We can remove this in 0.5. This exists so that the server creates job - // summaries if they were not present previously. When users upgrade to 0.5 - // from 0.4.1, the snapshot will contain job summaries so it will be safe to - // remove this block. - index, err := newState.Index("job_summary") - if err != nil { - return fmt.Errorf("couldn't fetch index of job summary table: %v", err) - } - - // If the index is 0 that means there is no job summary in the snapshot so - // we will have to create them - if index == 0 { - // query the latest index - latestIndex, err := newState.LatestIndex() - if err != nil { - return fmt.Errorf("unable to query latest index: %v", index) - } - if err := newState.ReconcileJobSummaries(latestIndex); err != nil { - return fmt.Errorf("error reconciling summaries: %v", err) - } - } - // COMPAT Remove in 0.10 // Clean up active deployments that do not have a job if err := n.failLeakedDeployments(newState); err != nil { diff --git a/nomad/fsm_test.go b/nomad/fsm_test.go index 5d76a76343c..c7873e9124e 100644 --- a/nomad/fsm_test.go +++ b/nomad/fsm_test.go @@ -350,7 +350,6 @@ func TestFSM_BatchUpdateNodeDrain(t *testing.T) { ws := memdb.NewWatchSet() node, err = fsm.State().NodeByID(ws, req.Node.ID) require.Nil(err) - require.True(node.Drain) require.Equal(node.DrainStrategy, strategy) require.Len(node.Events, 2) } @@ -394,46 +393,10 @@ func TestFSM_UpdateNodeDrain(t *testing.T) { ws := memdb.NewWatchSet() node, err = fsm.State().NodeByID(ws, req.Node.ID) require.Nil(err) - require.True(node.Drain) require.Equal(node.DrainStrategy, strategy) require.Len(node.Events, 2) } -func TestFSM_UpdateNodeDrain_Pre08_Compatibility(t *testing.T) { - t.Parallel() - require := require.New(t) - fsm := testFSM(t) - - // Force a node into the state store without eligiblity - node := mock.Node() - node.SchedulingEligibility = "" - require.Nil(fsm.State().UpsertNode(1, node)) - - // Do an old style drain - req := structs.NodeUpdateDrainRequest{ - NodeID: node.ID, - Drain: true, - } - buf, err := structs.Encode(structs.NodeUpdateDrainRequestType, req) - require.Nil(err) - - resp := fsm.Apply(makeLog(buf)) - require.Nil(resp) - - // Verify we have upgraded to a force drain - ws := memdb.NewWatchSet() - node, err = fsm.State().NodeByID(ws, req.NodeID) - require.Nil(err) - require.True(node.Drain) - - expected := &structs.DrainStrategy{ - DrainSpec: structs.DrainSpec{ - Deadline: -1 * time.Second, - }, - } - require.Equal(expected, node.DrainStrategy) -} - func TestFSM_UpdateNodeEligibility(t *testing.T) { t.Parallel() require := require.New(t) @@ -2701,47 +2664,6 @@ func TestFSM_SnapshotRestore_SchedulerConfiguration(t *testing.T) { } -func TestFSM_SnapshotRestore_AddMissingSummary(t *testing.T) { - t.Parallel() - // Add some state - fsm := testFSM(t) - state := fsm.State() - - // make an allocation - alloc := mock.Alloc() - state.UpsertJob(1010, alloc.Job) - state.UpsertAllocs(1011, []*structs.Allocation{alloc}) - - // Delete the summary - state.DeleteJobSummary(1040, alloc.Namespace, alloc.Job.ID) - - // Delete the index - if err := state.RemoveIndex("job_summary"); err != nil { - t.Fatalf("err: %v", err) - } - - fsm2 := testSnapshotRestore(t, fsm) - state2 := fsm2.State() - latestIndex, _ := state.LatestIndex() - - ws := memdb.NewWatchSet() - out, _ := state2.JobSummaryByID(ws, alloc.Namespace, alloc.Job.ID) - expected := structs.JobSummary{ - JobID: alloc.Job.ID, - Namespace: alloc.Job.Namespace, - Summary: map[string]structs.TaskGroupSummary{ - "web": { - Starting: 1, - }, - }, - CreateIndex: 1010, - ModifyIndex: latestIndex, - } - if !reflect.DeepEqual(&expected, out) { - t.Fatalf("expected: %#v, actual: %#v", &expected, out) - } -} - func TestFSM_ReconcileSummaries(t *testing.T) { t.Parallel() // Add some state diff --git a/nomad/leader.go b/nomad/leader.go index 0b08fc60cc9..60ef4e7ee40 100644 --- a/nomad/leader.go +++ b/nomad/leader.go @@ -268,15 +268,6 @@ func (s *Server) establishLeadership(stopCh chan struct{}) error { return err } - // COMPAT 0.4 - 0.4.1 - // Reconcile the summaries of the registered jobs. We reconcile summaries - // only if the server is 0.4.1 since summaries are not present in 0.4 they - // might be incorrect after upgrading to 0.4.1 the summaries might not be - // correct - if err := s.reconcileJobSummaries(); err != nil { - return fmt.Errorf("unable to reconcile job summaries: %v", err) - } - // Start replication of ACLs and Policies if they are enabled, // and we are not the authoritative region. if s.config.ACLEnabled && s.config.Region != s.config.AuthoritativeRegion { @@ -798,25 +789,6 @@ func (s *Server) reconcileMember(member serf.Member) error { return nil } -// reconcileJobSummaries reconciles the summaries of all the jobs registered in -// the system -// COMPAT 0.4 -> 0.4.1 -func (s *Server) reconcileJobSummaries() error { - index, err := s.fsm.state.LatestIndex() - if err != nil { - return fmt.Errorf("unable to read latest index: %v", err) - } - s.logger.Debug("leader reconciling job summaries", "index", index) - - args := &structs.GenericResponse{} - msg := structs.ReconcileJobSummariesRequestType | structs.IgnoreUnknownTypeFlag - if _, _, err = s.raftApply(msg, args); err != nil { - return fmt.Errorf("reconciliation of job summaries failed: %v", err) - } - - return nil -} - // addRaftPeer is used to add a new Raft peer when a Nomad server joins func (s *Server) addRaftPeer(m serf.Member, parts *serverParts) error { // Check for possibility of multiple bootstrap nodes diff --git a/nomad/node_endpoint_test.go b/nomad/node_endpoint_test.go index 6b7b90e2f40..ecb21fc501b 100644 --- a/nomad/node_endpoint_test.go +++ b/nomad/node_endpoint_test.go @@ -894,7 +894,6 @@ func TestClientEndpoint_UpdateDrain(t *testing.T) { ws := memdb.NewWatchSet() out, err := state.NodeByID(ws, node.ID) require.Nil(err) - require.True(out.Drain) require.Equal(strategy.Deadline, out.DrainStrategy.Deadline) require.Len(out.Events, 2) require.Equal(NodeDrainEventDrainSet, out.Events[1].Message) diff --git a/nomad/state/state_store.go b/nomad/state/state_store.go index 09c74286400..dcd33a953a7 100644 --- a/nomad/state/state_store.go +++ b/nomad/state/state_store.go @@ -261,16 +261,6 @@ func (s *StateStore) UpsertPlanResults(index uint64, results *structs.ApplyPlanR s.upsertDeploymentUpdates(index, results.DeploymentUpdates, txn) } - // COMPAT: Nomad versions before 0.7.1 did not include the eval ID when - // applying the plan. Thus while we are upgrading, we ignore updating the - // modify index of evaluations from older plans. - if results.EvalID != "" { - // Update the modify index of the eval id - if err := s.updateEvalModifyIndex(txn, index, results.EvalID); err != nil { - return err - } - } - numAllocs := 0 if len(results.Alloc) > 0 || len(results.NodePreemptions) > 0 { // COMPAT 0.11: This branch will be removed, when Alloc is removed @@ -353,11 +343,6 @@ func (s *StateStore) UpsertJobSummary(index uint64, jobSummary *structs.JobSumma txn := s.db.Txn(true) defer txn.Abort() - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if jobSummary.Namespace == "" { - jobSummary.Namespace = structs.DefaultNamespace - } - // Check if the job summary already exists existing, err := txn.First("job_summary", "id", jobSummary.Namespace, jobSummary.JobID) if err != nil { @@ -393,11 +378,6 @@ func (s *StateStore) DeleteJobSummary(index uint64, namespace, id string) error txn := s.db.Txn(true) defer txn.Abort() - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Delete the job summary if _, err := txn.DeleteAll("job_summary", "id", namespace, id); err != nil { return fmt.Errorf("deleting job summary failed: %v", err) @@ -428,11 +408,6 @@ func (s *StateStore) upsertDeploymentImpl(index uint64, deployment *structs.Depl return fmt.Errorf("deployment lookup failed: %v", err) } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if deployment.Namespace == "" { - deployment.Namespace = structs.DefaultNamespace - } - // Setup the indexes correctly if existing != nil { deployment.CreateIndex = existing.(*structs.Deployment).CreateIndex @@ -539,11 +514,6 @@ func (s *StateStore) deploymentByIDImpl(ws memdb.WatchSet, deploymentID string, func (s *StateStore) DeploymentsByJobID(ws memdb.WatchSet, namespace, jobID string, all bool) ([]*structs.Deployment, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - var job *structs.Job // Read job from state store _, existing, err := txn.FirstWatch("jobs", "id", namespace, jobID) @@ -587,11 +557,6 @@ func (s *StateStore) DeploymentsByJobID(ws memdb.WatchSet, namespace, jobID stri func (s *StateStore) LatestDeploymentByJobID(ws memdb.WatchSet, namespace, jobID string) (*structs.Deployment, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Get an iterator over the deployments iter, err := txn.Get("deployment", "job", namespace, jobID) if err != nil { @@ -820,7 +785,6 @@ func (s *StateStore) updateNodeDrainImpl(txn *memdb.Txn, index uint64, nodeID st } // Update the drain in the copy - copyNode.Drain = drain != nil // COMPAT: Remove in Nomad 0.9 copyNode.DrainStrategy = drain if drain != nil { copyNode.SchedulingEligibility = structs.NodeSchedulingIneligible @@ -1025,11 +989,6 @@ func (s *StateStore) UpsertJobTxn(index uint64, job *structs.Job, txn Txn) error // upsertJobImpl is the implementation for registering a job or updating a job definition func (s *StateStore) upsertJobImpl(index uint64, job *structs.Job, keepVersion bool, txn *memdb.Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - // Assert the namespace exists if exists, err := s.namespaceExists(txn, job.Namespace); err != nil { return err @@ -1116,11 +1075,6 @@ func (s *StateStore) DeleteJob(index uint64, namespace, jobID string) error { // DeleteJobTxn is used to deregister a job, like DeleteJob, // but in a transaction. Useful for when making multiple modifications atomically func (s *StateStore) DeleteJobTxn(index uint64, namespace, jobID string, txn Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Lookup the node existing, err := txn.First("jobs", "id", namespace, jobID) if err != nil { @@ -1164,11 +1118,6 @@ func (s *StateStore) DeleteJobTxn(index uint64, namespace, jobID string, txn Txn // Update the modify index pSummary.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if pSummary.Namespace == "" { - pSummary.Namespace = structs.DefaultNamespace - } - // Insert the summary if err := txn.Insert("job_summary", pSummary); err != nil { return fmt.Errorf("job summary insert failed: %v", err) @@ -1207,11 +1156,6 @@ func (s *StateStore) DeleteJobTxn(index uint64, namespace, jobID string, txn Txn // deleteJobVersions deletes all versions of the given job. func (s *StateStore) deleteJobVersions(index uint64, job *structs.Job, txn *memdb.Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - iter, err := txn.Get("job_version", "id_prefix", job.Namespace, job.ID) if err != nil { return err @@ -1252,11 +1196,6 @@ func (s *StateStore) deleteJobVersions(index uint64, job *structs.Job, txn *memd // upsertJobVersion inserts a job into its historic version table and limits the // number of job versions that are tracked. func (s *StateStore) upsertJobVersion(index uint64, job *structs.Job, txn *memdb.Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - // Insert the job if err := txn.Insert("job_version", job); err != nil { return fmt.Errorf("failed to insert job into job_version table: %v", err) @@ -1313,11 +1252,6 @@ func (s *StateStore) JobByID(ws memdb.WatchSet, namespace, id string) (*structs. // JobByIDTxn is used to lookup a job by its ID, like JobByID. JobByID returns the job version // accessible through in the transaction func (s *StateStore) JobByIDTxn(ws memdb.WatchSet, namespace, id string, txn Txn) (*structs.Job, error) { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - watchCh, existing, err := txn.FirstWatch("jobs", "id", namespace, id) if err != nil { return nil, fmt.Errorf("job lookup failed: %v", err) @@ -1334,11 +1268,6 @@ func (s *StateStore) JobByIDTxn(ws memdb.WatchSet, namespace, id string, txn Txn func (s *StateStore) JobsByIDPrefix(ws memdb.WatchSet, namespace, id string) (memdb.ResultIterator, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - iter, err := txn.Get("jobs", "id_prefix", namespace, id) if err != nil { return nil, fmt.Errorf("job lookup failed: %v", err) @@ -1353,11 +1282,6 @@ func (s *StateStore) JobsByIDPrefix(ws memdb.WatchSet, namespace, id string) (me func (s *StateStore) JobVersionsByID(ws memdb.WatchSet, namespace, id string) ([]*structs.Job, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - return s.jobVersionByID(txn, &ws, namespace, id) } @@ -1365,11 +1289,6 @@ func (s *StateStore) JobVersionsByID(ws memdb.WatchSet, namespace, id string) ([ // versions of a job and is called under an existing transaction. A watch set // can optionally be passed in to add the job histories to the watch set. func (s *StateStore) jobVersionByID(txn *memdb.Txn, ws *memdb.WatchSet, namespace, id string) ([]*structs.Job, error) { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Get all the historic jobs for this ID iter, err := txn.Get("job_version", "id_prefix", namespace, id) if err != nil { @@ -1407,10 +1326,6 @@ func (s *StateStore) jobVersionByID(txn *memdb.Txn, ws *memdb.WatchSet, namespac // JobByIDAndVersion returns the job identified by its ID and Version. The // passed watchset may be nil. func (s *StateStore) JobByIDAndVersion(ws memdb.WatchSet, namespace, id string, version uint64) (*structs.Job, error) { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } txn := s.db.Txn(false) return s.jobByIDAndVersionImpl(ws, namespace, id, version, txn) } @@ -1419,10 +1334,6 @@ func (s *StateStore) JobByIDAndVersion(ws memdb.WatchSet, namespace, id string, // passed watchset may be nil. func (s *StateStore) jobByIDAndVersionImpl(ws memdb.WatchSet, namespace, id string, version uint64, txn *memdb.Txn) (*structs.Job, error) { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } watchCh, existing, err := txn.FirstWatch("job_version", "id", namespace, id, version) if err != nil { @@ -1537,11 +1448,6 @@ func (s *StateStore) JobsByGC(ws memdb.WatchSet, gc bool) (memdb.ResultIterator, func (s *StateStore) JobSummaryByID(ws memdb.WatchSet, namespace, jobID string) (*structs.JobSummary, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - watchCh, existing, err := txn.FirstWatch("job_summary", "id", namespace, jobID) if err != nil { return nil, err @@ -1576,11 +1482,6 @@ func (s *StateStore) JobSummaries(ws memdb.WatchSet) (memdb.ResultIterator, erro func (s *StateStore) JobSummaryByPrefix(ws memdb.WatchSet, namespace, id string) (memdb.ResultIterator, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - iter, err := txn.Get("job_summary", "id_prefix", namespace, id) if err != nil { return nil, fmt.Errorf("eval lookup failed: %v", err) @@ -1596,11 +1497,6 @@ func (s *StateStore) UpsertPeriodicLaunch(index uint64, launch *structs.Periodic txn := s.db.Txn(true) defer txn.Abort() - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if launch.Namespace == "" { - launch.Namespace = structs.DefaultNamespace - } - // Check if the job already exists existing, err := txn.First("periodic_launch", "id", launch.Namespace, launch.ID) if err != nil { @@ -1643,11 +1539,6 @@ func (s *StateStore) DeletePeriodicLaunch(index uint64, namespace, jobID string) // DeletePeriodicLaunchTxn is used to delete the periodic launch, like DeletePeriodicLaunch // but in a transaction. Useful for when making multiple modifications atomically func (s *StateStore) DeletePeriodicLaunchTxn(index uint64, namespace, jobID string, txn Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Lookup the launch existing, err := txn.First("periodic_launch", "id", namespace, jobID) if err != nil { @@ -1673,11 +1564,6 @@ func (s *StateStore) DeletePeriodicLaunchTxn(index uint64, namespace, jobID stri func (s *StateStore) PeriodicLaunchByID(ws memdb.WatchSet, namespace, id string) (*structs.PeriodicLaunch, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - watchCh, existing, err := txn.FirstWatch("periodic_launch", "id", namespace, id) if err != nil { return nil, fmt.Errorf("periodic launch lookup failed: %v", err) @@ -1751,11 +1637,6 @@ func (s *StateStore) nestedUpsertEval(txn *memdb.Txn, index uint64, eval *struct return fmt.Errorf("eval lookup failed: %v", err) } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if eval.Namespace == "" { - eval.Namespace = structs.DefaultNamespace - } - // Update the indexes if existing != nil { eval.CreateIndex = existing.(*structs.Evaluation).CreateIndex @@ -1787,11 +1668,6 @@ func (s *StateStore) nestedUpsertEval(txn *memdb.Txn, index uint64, eval *struct // Insert the job summary if hasSummaryChanged { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if js.Namespace == "" { - js.Namespace = structs.DefaultNamespace - } - js.ModifyIndex = index if err := txn.Insert("job_summary", js); err != nil { return fmt.Errorf("job summary insert failed: %v", err) @@ -1826,11 +1702,6 @@ func (s *StateStore) nestedUpsertEval(txn *memdb.Txn, index uint64, eval *struct newEval.StatusDescription = fmt.Sprintf("evaluation %q successful", newEval.ID) newEval.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if newEval.Namespace == "" { - newEval.Namespace = structs.DefaultNamespace - } - if err := txn.Insert("evals", newEval); err != nil { return fmt.Errorf("eval insert failed: %v", err) } @@ -1960,11 +1831,6 @@ func (s *StateStore) EvalsByIDPrefix(ws memdb.WatchSet, namespace, id string) (m ws.Add(iter.WatchCh()) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Wrap the iterator in a filter wrap := memdb.NewFilterIterator(iter, evalNamespaceFilter(namespace)) return wrap, nil @@ -1987,11 +1853,6 @@ func evalNamespaceFilter(namespace string) func(interface{}) bool { func (s *StateStore) EvalsByJob(ws memdb.WatchSet, namespace, jobID string) ([]*structs.Evaluation, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Get an iterator over the node allocations iter, err := txn.Get("evals", "job_prefix", namespace, jobID) if err != nil { @@ -2092,11 +1953,6 @@ func (s *StateStore) nestedUpdateAllocFromClient(txn *memdb.Txn, index uint64, a // Copy everything from the existing allocation copyAlloc := exist.Copy() - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if copyAlloc.Namespace == "" { - copyAlloc.Namespace = structs.DefaultNamespace - } - // Pull in anything the client is the authority on copyAlloc.ClientStatus = alloc.ClientStatus copyAlloc.ClientDescription = alloc.ClientDescription @@ -2230,11 +2086,6 @@ func (s *StateStore) upsertAllocsImpl(index uint64, allocs []*structs.Allocation } } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if alloc.Namespace == "" { - alloc.Namespace = structs.DefaultNamespace - } - // OPTIMIZATION: // These should be given a map of new to old allocation and the updates // should be one on all changes. The current implementation causes O(n) @@ -2459,11 +2310,6 @@ func (s *StateStore) AllocsByNodeTerminal(ws memdb.WatchSet, node string, termin func (s *StateStore) AllocsByJob(ws memdb.WatchSet, namespace, jobID string, all bool) ([]*structs.Allocation, error) { txn := s.db.Txn(false) - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Get the job var job *structs.Job rawJob, err := txn.First("jobs", "id", namespace, jobID) @@ -2752,11 +2598,6 @@ func (s *StateStore) updateDeploymentStatusImpl(index uint64, u *structs.Deploym copy.StatusDescription = u.StatusDescription copy.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if copy.Namespace == "" { - copy.Namespace = structs.DefaultNamespace - } - // Insert the deployment if err := txn.Insert("deployment", copy); err != nil { return err @@ -2783,11 +2624,6 @@ func (s *StateStore) UpdateJobStability(index uint64, namespace, jobID string, j txn := s.db.Txn(true) defer txn.Abort() - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - if err := s.updateJobStabilityImpl(index, namespace, jobID, jobVersion, stable, txn); err != nil { return err } @@ -2798,11 +2634,6 @@ func (s *StateStore) UpdateJobStability(index uint64, namespace, jobID string, j // updateJobStabilityImpl updates the stability of the given job and version func (s *StateStore) updateJobStabilityImpl(index uint64, namespace, jobID string, jobVersion uint64, stable bool, txn *memdb.Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if namespace == "" { - namespace = structs.DefaultNamespace - } - // Get the job that is referenced job, err := s.jobByIDAndVersionImpl(nil, namespace, jobID, jobVersion, txn) if err != nil { @@ -3231,11 +3062,6 @@ func (s *StateStore) ReconcileJobSummaries(index uint64) error { summary.Summary[tg.Name] = structs.TaskGroupSummary{} } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - // Find all the allocations for the jobs iterAllocs, err := txn.Get("allocs", "job", job.Namespace, job.ID) if err != nil { @@ -3299,10 +3125,6 @@ func (s *StateStore) ReconcileJobSummaries(index uint64) error { func (s *StateStore) setJobStatuses(index uint64, txn *memdb.Txn, jobs map[structs.NamespacedID]string, evalDelete bool) error { for tuple, forceStatus := range jobs { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if tuple.Namespace == "" { - tuple.Namespace = structs.DefaultNamespace - } existing, err := txn.First("jobs", "id", tuple.Namespace, tuple.ID) if err != nil { @@ -3355,11 +3177,6 @@ func (s *StateStore) setJobStatus(index uint64, txn *memdb.Txn, updated.Status = newStatus updated.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if updated.Namespace == "" { - updated.Namespace = structs.DefaultNamespace - } - // Insert the job if err := txn.Insert("jobs", updated); err != nil { return fmt.Errorf("job insert failed: %v", err) @@ -3385,11 +3202,6 @@ func (s *StateStore) setJobStatus(index uint64, txn *memdb.Txn, pSummary.Children = new(structs.JobChildrenSummary) } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if pSummary.Namespace == "" { - pSummary.Namespace = structs.DefaultNamespace - } - // Determine the transition and update the correct fields children := pSummary.Children @@ -3436,11 +3248,6 @@ func (s *StateStore) setJobStatus(index uint64, txn *memdb.Txn, } func (s *StateStore) getJobStatus(txn *memdb.Txn, job *structs.Job, evalDelete bool) (string, error) { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - // System, Periodic and Parameterized jobs are running until explicitly // stopped if job.Type == structs.JobTypeSystem || job.IsParameterized() || job.IsPeriodic() { @@ -3499,11 +3306,6 @@ func (s *StateStore) getJobStatus(txn *memdb.Txn, job *structs.Job, evalDelete b func (s *StateStore) updateSummaryWithJob(index uint64, job *structs.Job, txn *memdb.Txn) error { - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if job.Namespace == "" { - job.Namespace = structs.DefaultNamespace - } - // Update the job summary summaryRaw, err := txn.First("job_summary", "id", job.Namespace, job.ID) if err != nil { @@ -3543,11 +3345,6 @@ func (s *StateStore) updateSummaryWithJob(index uint64, job *structs.Job, if hasSummaryChanged { summary.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if summary.Namespace == "" { - summary.Namespace = structs.DefaultNamespace - } - // Update the indexes table for job summary if err := txn.Insert("index", &IndexEntry{"job_summary", index}); err != nil { return fmt.Errorf("index update failed: %v", err) @@ -3662,10 +3459,6 @@ func (s *StateStore) updateSummaryWithAlloc(index uint64, alloc *structs.Allocat if alloc.Job == nil { return nil } - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if alloc.Namespace == "" { - alloc.Namespace = structs.DefaultNamespace - } summaryRaw, err := txn.First("job_summary", "id", alloc.Namespace, alloc.JobID) if err != nil { @@ -3761,11 +3554,6 @@ func (s *StateStore) updateSummaryWithAlloc(index uint64, alloc *structs.Allocat if summaryChanged { jobSummary.ModifyIndex = index - // COMPAT 0.7: Upgrade old objects that do not have namespaces - if jobSummary.Namespace == "" { - jobSummary.Namespace = structs.DefaultNamespace - } - // Update the indexes table for job summary if err := txn.Insert("index", &IndexEntry{"job_summary", index}); err != nil { return fmt.Errorf("index update failed: %v", err) diff --git a/scheduler/context.go b/scheduler/context.go index 07cf9fdd6f3..e62509a82dd 100644 --- a/scheduler/context.go +++ b/scheduler/context.go @@ -282,10 +282,7 @@ func (e *EvalEligibility) GetClasses() map[string]bool { // JobStatus returns the eligibility status of the job. func (e *EvalEligibility) JobStatus(class string) ComputedClassFeasibility { - // COMPAT: Computed node class was introduced in 0.3. Clients running < 0.3 - // will not have a computed class. The safest value to return is the escaped - // case, since it disables any optimization. - if e.jobEscaped || class == "" { + if e.jobEscaped { return EvalComputedClassEscaped } @@ -307,13 +304,6 @@ func (e *EvalEligibility) SetJobEligibility(eligible bool, class string) { // TaskGroupStatus returns the eligibility status of the task group. func (e *EvalEligibility) TaskGroupStatus(tg, class string) ComputedClassFeasibility { - // COMPAT: Computed node class was introduced in 0.3. Clients running < 0.3 - // will not have a computed class. The safest value to return is the escaped - // case, since it disables any optimization. - if class == "" { - return EvalComputedClassEscaped - } - if escaped, ok := e.tgEscapedConstraints[tg]; ok { if escaped { return EvalComputedClassEscaped From 4df53b4026d81864fcf4aede1ebe9fd1380379a0 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Tue, 25 Jun 2019 19:41:09 -0500 Subject: [PATCH 04/32] newline --- nomad/node_endpoint_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/nomad/node_endpoint_test.go b/nomad/node_endpoint_test.go index ecb21fc501b..1c748da8312 100644 --- a/nomad/node_endpoint_test.go +++ b/nomad/node_endpoint_test.go @@ -891,6 +891,7 @@ func TestClientEndpoint_UpdateDrain(t *testing.T) { // Check for the node in the FSM state := s1.fsm.State() + ws := memdb.NewWatchSet() out, err := state.NodeByID(ws, node.ID) require.Nil(err) From ea77c3af3945661df9948a52054097976e11baee Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 26 Jun 2019 13:59:14 -0500 Subject: [PATCH 05/32] Restore accidentally deleted block --- nomad/state/state_store.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nomad/state/state_store.go b/nomad/state/state_store.go index dcd33a953a7..6f4080d0ae4 100644 --- a/nomad/state/state_store.go +++ b/nomad/state/state_store.go @@ -261,6 +261,13 @@ func (s *StateStore) UpsertPlanResults(index uint64, results *structs.ApplyPlanR s.upsertDeploymentUpdates(index, results.DeploymentUpdates, txn) } + if results.EvalID != "" { + // Update the modify index of the eval id + if err := s.updateEvalModifyIndex(txn, index, results.EvalID); err != nil { + return err + } + } + numAllocs := 0 if len(results.Alloc) > 0 || len(results.NodePreemptions) > 0 { // COMPAT 0.11: This branch will be removed, when Alloc is removed From a5c3b6e8cbaf75de5e0fbacfae70be81ed0afc89 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 26 Jun 2019 16:12:07 -0500 Subject: [PATCH 06/32] Fix node drain test --- nomad/node_endpoint_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nomad/node_endpoint_test.go b/nomad/node_endpoint_test.go index 1c748da8312..d7d5844341e 100644 --- a/nomad/node_endpoint_test.go +++ b/nomad/node_endpoint_test.go @@ -2682,7 +2682,7 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) { if resp2.Index != 3 { t.Fatalf("Bad index: %d %d", resp2.Index, 3) } - if len(resp2.Nodes) != 1 || !resp2.Nodes[0].Drain { + if len(resp2.Nodes) != 1 { t.Fatalf("bad: %#v", resp2.Nodes) } From bead05f05f1e9ca1665b64fd6a16c83fd3693a52 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 26 Jun 2019 16:30:53 -0500 Subject: [PATCH 07/32] Fix more tests --- nomad/state/state_store_test.go | 2 -- scheduler/context_test.go | 10 ---------- 2 files changed, 12 deletions(-) diff --git a/nomad/state/state_store_test.go b/nomad/state/state_store_test.go index d21e4bbdefb..7e3539f3ec1 100644 --- a/nomad/state/state_store_test.go +++ b/nomad/state/state_store_test.go @@ -935,7 +935,6 @@ func TestStateStore_BatchUpdateNodeDrain(t *testing.T) { for _, id := range []string{n1.ID, n2.ID} { out, err := state.NodeByID(ws, id) require.Nil(err) - require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(out.DrainStrategy, expectedDrain) require.Len(out.Events, 2) @@ -978,7 +977,6 @@ func TestStateStore_UpdateNodeDrain_Node(t *testing.T) { ws = memdb.NewWatchSet() out, err := state.NodeByID(ws, node.ID) require.Nil(err) - require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(out.DrainStrategy, expectedDrain) require.Len(out.Events, 2) diff --git a/scheduler/context_test.go b/scheduler/context_test.go index e7c6927c725..e5e0be7a84c 100644 --- a/scheduler/context_test.go +++ b/scheduler/context_test.go @@ -168,11 +168,6 @@ func TestEvalEligibility_JobStatus(t *testing.T) { if status := e.JobStatus(cc); status != EvalComputedClassEligible { t.Fatalf("JobStatus() returned %v; want %v", status, EvalComputedClassEligible) } - - // Check that if I pass an empty class it returns escaped - if status := e.JobStatus(""); status != EvalComputedClassEscaped { - t.Fatalf("JobStatus() returned %v; want %v", status, EvalComputedClassEscaped) - } } func TestEvalEligibility_TaskGroupStatus(t *testing.T) { @@ -195,11 +190,6 @@ func TestEvalEligibility_TaskGroupStatus(t *testing.T) { if status := e.TaskGroupStatus(tg, cc); status != EvalComputedClassEligible { t.Fatalf("TaskGroupStatus() returned %v; want %v", status, EvalComputedClassEligible) } - - // Check that if I pass an empty class it returns escaped - if status := e.TaskGroupStatus(tg, ""); status != EvalComputedClassEscaped { - t.Fatalf("TaskGroupStatus() returned %v; want %v", status, EvalComputedClassEscaped) - } } func TestEvalEligibility_SetJob(t *testing.T) { From 27edf8f5fceab5ffa9667f39b8fa84334595485d Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 26 Jun 2019 16:59:23 -0500 Subject: [PATCH 08/32] remove now unneeded test --- command/agent/node_endpoint_test.go | 55 ----------------------------- 1 file changed, 55 deletions(-) diff --git a/command/agent/node_endpoint_test.go b/command/agent/node_endpoint_test.go index 978c266f406..6c94af9effb 100644 --- a/command/agent/node_endpoint_test.go +++ b/command/agent/node_endpoint_test.go @@ -302,61 +302,6 @@ func TestHTTP_NodeDrain(t *testing.T) { }) } -// Tests backwards compatibility code to support pre 0.8 clients -func TestHTTP_NodeDrain_Compat(t *testing.T) { - t.Parallel() - require := require.New(t) - httpTest(t, nil, func(s *TestAgent) { - // Create the node - node := mock.Node() - args := structs.NodeRegisterRequest{ - Node: node, - WriteRequest: structs.WriteRequest{Region: "global"}, - } - var resp structs.NodeUpdateResponse - require.Nil(s.Agent.RPC("Node.Register", &args, &resp)) - - // Make the HTTP request - req, err := http.NewRequest("POST", "/v1/node/"+node.ID+"/drain?enable=true", nil) - require.Nil(err) - respW := httptest.NewRecorder() - - // Make the request - obj, err := s.Server.NodeSpecificRequest(respW, req) - require.Nil(err) - - // Check for the index - require.NotZero(respW.HeaderMap.Get("X-Nomad-Index")) - - // Check the response - _, ok := obj.(structs.NodeDrainUpdateResponse) - require.True(ok) - - // Check that the node has been updated - state := s.Agent.server.State() - out, err := state.NodeByID(nil, node.ID) - require.Nil(err) - require.True(out.Drain) - require.NotNil(out.DrainStrategy) - require.Equal(-1*time.Second, out.DrainStrategy.Deadline) - - // Make the HTTP request to unset drain - req, err = http.NewRequest("POST", "/v1/node/"+node.ID+"/drain?enable=false", nil) - require.Nil(err) - respW = httptest.NewRecorder() - - // Make the request - _, err = s.Server.NodeSpecificRequest(respW, req) - require.Nil(err) - - out, err = state.NodeByID(nil, node.ID) - require.Nil(err) - require.False(out.Drain) - require.Nil(out.DrainStrategy) - require.Equal(structs.NodeSchedulingEligible, out.SchedulingEligibility) - }) -} - func TestHTTP_NodeEligible(t *testing.T) { t.Parallel() require := require.New(t) From 154e09e8ca52899f95f280abc9a51d3ac57e7eb2 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Wed, 26 Jun 2019 17:33:51 -0500 Subject: [PATCH 09/32] one more drain test --- command/agent/node_endpoint_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/command/agent/node_endpoint_test.go b/command/agent/node_endpoint_test.go index 6c94af9effb..8bc4dc95e3c 100644 --- a/command/agent/node_endpoint_test.go +++ b/command/agent/node_endpoint_test.go @@ -280,7 +280,6 @@ func TestHTTP_NodeDrain(t *testing.T) { state := s.Agent.server.State() out, err := state.NodeByID(nil, node.ID) require.Nil(err) - require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(10*time.Second, out.DrainStrategy.Deadline) @@ -297,7 +296,6 @@ func TestHTTP_NodeDrain(t *testing.T) { out, err = state.NodeByID(nil, node.ID) require.Nil(err) - require.False(out.Drain) require.Nil(out.DrainStrategy) }) } From f3c944aaf585ca2abc630e4be00e170af9b6759c Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Wed, 26 Jun 2019 23:39:10 +0800 Subject: [PATCH 10/32] task runner to avoid running task if terminal This change fixes a bug where nomad would avoid running alloc tasks if the alloc is client terminal but the server copy on the client isn't marked as running. Here, we fix the case by having task runner uses the allocRunner.shouldRun() instead of only checking the server updated alloc. Here, we preserve much of the invariants such that `tr.Run()` is always run, and don't change the overall alloc runner and task runner lifecycles. Fixes https://github.com/hashicorp/nomad/issues/5883 --- client/allocrunner/alloc_runner_unix_test.go | 84 ++++++++++++++++++++ client/allocrunner/taskrunner/task_runner.go | 18 ++++- 2 files changed, 101 insertions(+), 1 deletion(-) diff --git a/client/allocrunner/alloc_runner_unix_test.go b/client/allocrunner/alloc_runner_unix_test.go index e0608efc75c..92e956a5f45 100644 --- a/client/allocrunner/alloc_runner_unix_test.go +++ b/client/allocrunner/alloc_runner_unix_test.go @@ -131,3 +131,87 @@ func TestAllocRunner_Restore_RunningTerminal(t *testing.T) { require.Equal(t, events[2].Type, structs.TaskStarted) require.Equal(t, events[3].Type, structs.TaskTerminated) } + +// TestAllocRunner_Restore_Completed asserts that restoring a completed +// batch alloc doesn't run it again +func TestAllocRunner_Restore_CompletedBatch(t *testing.T) { + t.Parallel() + + // 1. Run task and wait for it to complete + // 2. Start new alloc runner + // 3. Assert task didn't run again + + alloc := mock.Alloc() + alloc.Job.Type = structs.JobTypeBatch + task := alloc.Job.TaskGroups[0].Tasks[0] + task.Driver = "mock_driver" + task.Config = map[string]interface{}{ + "run_for": "2ms", + } + + conf, cleanup := testAllocRunnerConfig(t, alloc.Copy()) + defer cleanup() + + // Maintain state for subsequent run + conf.StateDB = state.NewMemDB(conf.Logger) + + // Start and wait for task to be running + ar, err := NewAllocRunner(conf) + require.NoError(t, err) + go ar.Run() + defer destroy(ar) + + testutil.WaitForResult(func() (bool, error) { + s := ar.AllocState() + if s.ClientStatus != structs.AllocClientStatusComplete { + return false, fmt.Errorf("expected complete, got %s", s.ClientStatus) + } + return true, nil + }, func(err error) { + require.NoError(t, err) + }) + + // once job finishes, it shouldn't run again + require.False(t, ar.shouldRun()) + initialRunEvents := ar.AllocState().TaskStates[task.Name].Events + require.Len(t, initialRunEvents, 4) + + ls, ts, err := conf.StateDB.GetTaskRunnerState(alloc.ID, task.Name) + require.NoError(t, err) + require.NotNil(t, ls) + require.Equal(t, structs.TaskStateDead, ts.State) + + // Start a new alloc runner and assert it gets stopped + conf2, cleanup2 := testAllocRunnerConfig(t, alloc) + defer cleanup2() + + // Use original statedb to maintain hook state + conf2.StateDB = conf.StateDB + + // Restore, start, and wait for task to be killed + ar2, err := NewAllocRunner(conf2) + require.NoError(t, err) + + require.NoError(t, ar2.Restore()) + + go ar2.Run() + defer destroy(ar2) + + // AR waitCh must be closed even when task doesn't run again + select { + case <-ar2.WaitCh(): + case <-time.After(10 * time.Second): + require.Fail(t, "alloc.waitCh wasn't closed") + } + + // TR waitCh must be closed too! + select { + case <-ar2.tasks[task.Name].WaitCh(): + case <-time.After(10 * time.Second): + require.Fail(t, "tr.waitCh wasn't closed") + } + + // Assert that events are unmodified, which they would if task re-run + events := ar2.AllocState().TaskStates[task.Name].Events + require.Equal(t, initialRunEvents, events) +} diff --git a/client/allocrunner/taskrunner/task_runner.go b/client/allocrunner/taskrunner/task_runner.go index b71c3bd4df8..c6b695fd364 100644 --- a/client/allocrunner/taskrunner/task_runner.go +++ b/client/allocrunner/taskrunner/task_runner.go @@ -394,6 +394,22 @@ func (tr *TaskRunner) Run() { defer close(tr.waitCh) var result *drivers.ExitResult + tr.stateLock.RLock() + dead := tr.state.State == structs.TaskStateDead + tr.stateLock.RUnlock() + + // if restoring a dead task, ensure that task is cleared and all post hooks + // are called without additional state updates + if dead { + // clear driver handle if it was successfully restored on + // already dead task + tr.clearDriverHandle() + if err := tr.stop(); err != nil { + tr.logger.Error("stop failed on terminal task", "error", err) + } + return + } + // Updates are handled asynchronously with the other hooks but each // triggered update - whether due to alloc updates or a new vault token // - should be handled serially. @@ -899,7 +915,7 @@ func (tr *TaskRunner) Restore() error { } alloc := tr.Alloc() - if alloc.TerminalStatus() || alloc.Job.Type == structs.JobTypeSystem { + if tr.state.State == structs.TaskStateDead || alloc.TerminalStatus() || alloc.Job.Type == structs.JobTypeSystem { return nil } From 35c45e61cacbbdfb7b20b19f1f949f327acd341d Mon Sep 17 00:00:00 2001 From: Michael Lange Date: Thu, 27 Jun 2019 12:32:26 -0700 Subject: [PATCH 11/32] Account for the search icon within the is-compact modifer --- ui/app/styles/components/search-box.scss | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ui/app/styles/components/search-box.scss b/ui/app/styles/components/search-box.scss index a023f876a29..895b573db74 100644 --- a/ui/app/styles/components/search-box.scss +++ b/ui/app/styles/components/search-box.scss @@ -68,8 +68,13 @@ width: 100%; } - input { + input, + .input { width: 100%; padding: 0.4em 1.75em 0.4em 2.25em; + + &.is-compact { + padding: 0.25em 0.75em 0.25em 2.25em; + } } } From efda81cbbb2d3926bb6a2b9b219d0e49a9c4df82 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Tue, 18 Jun 2019 14:56:24 +0200 Subject: [PATCH 12/32] logmon: Refactor fifo access for windows safety On unix platforms, it is safe to re-open fifo's for reading after the first creation if the file is already a fifo, however this is not possible on windows where this triggers a permissions error on the socket path, as you cannot recreate it. We can't transparently handle this in the CreateAndRead handle, because the Access Is Denied error is too generic to reliably be an IO error. Instead, we add an explict API for opening a reader to an existing FIFO, and check to see if the fifo already exists inside the calling package (e.g logmon) --- client/lib/fifo/fifo_unix.go | 8 +++++--- client/lib/fifo/fifo_windows.go | 11 +++++++++-- client/logmon/logmon.go | 25 ++++++++++++++++++------- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/client/lib/fifo/fifo_unix.go b/client/lib/fifo/fifo_unix.go index 4d902fb039c..1533b0beec7 100644 --- a/client/lib/fifo/fifo_unix.go +++ b/client/lib/fifo/fifo_unix.go @@ -21,11 +21,13 @@ func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { return nil, fmt.Errorf("error creating fifo %v: %v", path, err) } - openFn := func() (io.ReadCloser, error) { + return func() (io.ReadCloser, error) { return os.OpenFile(path, unix.O_RDONLY, os.ModeNamedPipe) - } + }, nil +} - return openFn, nil +func OpenReader(path string) (io.ReadCloser, error) { + return os.OpenFile(path, unix.O_RDONLY, os.ModeNamedPipe) } // OpenWriter opens a fifo file for writer, assuming it already exists, returns io.WriteCloser diff --git a/client/lib/fifo/fifo_windows.go b/client/lib/fifo/fifo_windows.go index 24d9c1e4209..0c3a88ba08c 100644 --- a/client/lib/fifo/fifo_windows.go +++ b/client/lib/fifo/fifo_windows.go @@ -78,13 +78,20 @@ func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { return nil, err } - openFn := func() (io.ReadCloser, error) { + return func() (io.ReadCloser, error) { return &winFIFO{ listener: l, }, nil + }, nil +} + +func OpenReader(path string) (io.ReadCloser, error) { + conn, err := winio.DialPipe(path, nil) + if err != nil { + return nil, err } - return openFn, nil + return &winFIFO{conn: conn}, nil } // OpenWriter opens a fifo that already exists and returns an io.WriteCloser for it diff --git a/client/logmon/logmon.go b/client/logmon/logmon.go index 74a13631d17..a92257649fa 100644 --- a/client/logmon/logmon.go +++ b/client/logmon/logmon.go @@ -3,6 +3,7 @@ package logmon import ( "fmt" "io" + "os" "strings" "sync" "time" @@ -199,7 +200,18 @@ func (l *logRotatorWrapper) isRunning() bool { // processOutWriter to attach to the stdout or stderr of a process. func newLogRotatorWrapper(path string, logger hclog.Logger, rotator *logging.FileRotator) (*logRotatorWrapper, error) { logger.Info("opening fifo", "path", path) - fifoOpenFn, err := fifo.CreateAndRead(path) + + var openFn func() (io.ReadCloser, error) + var err error + + if _, ferr := os.Stat(path); os.IsNotExist(ferr) { + openFn, err = fifo.CreateAndRead(path) + } else { + openFn = func() (io.ReadCloser, error) { + return fifo.OpenReader(path) + } + } + if err != nil { return nil, fmt.Errorf("failed to create fifo for extracting logs: %v", err) } @@ -211,20 +223,20 @@ func newLogRotatorWrapper(path string, logger hclog.Logger, rotator *logging.Fil openCompleted: make(chan struct{}), logger: logger, } - wrap.start(fifoOpenFn) + + wrap.start(openFn) return wrap, nil } // start starts a goroutine that copies from the pipe into the rotator. This is // called by the constructor and not the user of the wrapper. -func (l *logRotatorWrapper) start(readerOpenFn func() (io.ReadCloser, error)) { +func (l *logRotatorWrapper) start(openFn func() (io.ReadCloser, error)) { go func() { defer close(l.hasFinishedCopied) - reader, err := readerOpenFn() + reader, err := openFn() if err != nil { - close(l.openCompleted) - l.logger.Warn("failed to open log fifo", "error", err) + l.logger.Warn("failed to open fifo", "error", err) return } l.processOutReader = reader @@ -284,5 +296,4 @@ func (l *logRotatorWrapper) Close() { } l.rotatorWriter.Close() - return } From 76f72fe4bd40fd1bb0f153589da6c93df373fd43 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Thu, 20 Jun 2019 19:13:05 +0200 Subject: [PATCH 13/32] vendor: Use dani fork of go-winio --- client/lib/fifo/fifo_windows.go | 4 +- vendor/github.com/Microsoft/go-winio/file.go | 10 + vendor/github.com/Microsoft/go-winio/go.mod | 9 + vendor/github.com/Microsoft/go-winio/go.sum | 16 + .../github.com/Microsoft/go-winio/hvsock.go | 305 ++++++++++++++++++ vendor/github.com/Microsoft/go-winio/pipe.go | 253 +++++++++++---- .../Microsoft/go-winio/pkg/guid/guid.go | 187 +++++++++++ .../github.com/Microsoft/go-winio/syscall.go | 2 +- .../Microsoft/go-winio/zsyscall_windows.go | 88 +++-- vendor/vendor.json | 3 +- 10 files changed, 779 insertions(+), 98 deletions(-) create mode 100644 vendor/github.com/Microsoft/go-winio/go.mod create mode 100644 vendor/github.com/Microsoft/go-winio/go.sum create mode 100644 vendor/github.com/Microsoft/go-winio/hvsock.go create mode 100644 vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go diff --git a/client/lib/fifo/fifo_windows.go b/client/lib/fifo/fifo_windows.go index 0c3a88ba08c..4feaa63da1d 100644 --- a/client/lib/fifo/fifo_windows.go +++ b/client/lib/fifo/fifo_windows.go @@ -86,12 +86,12 @@ func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { } func OpenReader(path string) (io.ReadCloser, error) { - conn, err := winio.DialPipe(path, nil) + l, err := winio.ListenOnlyPipe(path, nil) if err != nil { return nil, err } - return &winFIFO{conn: conn}, nil + return &winFIFO{listener: l}, nil } // OpenWriter opens a fifo that already exists and returns an io.WriteCloser for it diff --git a/vendor/github.com/Microsoft/go-winio/file.go b/vendor/github.com/Microsoft/go-winio/file.go index 4334ff1cbee..ea2d279341b 100644 --- a/vendor/github.com/Microsoft/go-winio/file.go +++ b/vendor/github.com/Microsoft/go-winio/file.go @@ -16,6 +16,7 @@ import ( //sys createIoCompletionPort(file syscall.Handle, port syscall.Handle, key uintptr, threadCount uint32) (newport syscall.Handle, err error) = CreateIoCompletionPort //sys getQueuedCompletionStatus(port syscall.Handle, bytes *uint32, key *uintptr, o **ioOperation, timeout uint32) (err error) = GetQueuedCompletionStatus //sys setFileCompletionNotificationModes(h syscall.Handle, flags uint8) (err error) = SetFileCompletionNotificationModes +//sys wsaGetOverlappedResult(h syscall.Handle, o *syscall.Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) = ws2_32.WSAGetOverlappedResult type atomicBool int32 @@ -79,6 +80,7 @@ type win32File struct { wg sync.WaitGroup wgLock sync.RWMutex closing atomicBool + socket bool readDeadline deadlineHandler writeDeadline deadlineHandler } @@ -190,6 +192,10 @@ func (f *win32File) asyncIo(c *ioOperation, d *deadlineHandler, bytes uint32, er if f.closing.isSet() { err = ErrFileClosed } + } else if err != nil && f.socket { + // err is from Win32. Query the overlapped structure to get the winsock error. + var bytes, flags uint32 + err = wsaGetOverlappedResult(f.handle, &c.o, &bytes, false, &flags) } case <-timeout: cancelIoEx(f.handle, &c.o) @@ -265,6 +271,10 @@ func (f *win32File) Flush() error { return syscall.FlushFileBuffers(f.handle) } +func (f *win32File) Fd() uintptr { + return uintptr(f.handle) +} + func (d *deadlineHandler) set(deadline time.Time) error { d.setLock.Lock() defer d.setLock.Unlock() diff --git a/vendor/github.com/Microsoft/go-winio/go.mod b/vendor/github.com/Microsoft/go-winio/go.mod new file mode 100644 index 00000000000..b3846826b40 --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/go.mod @@ -0,0 +1,9 @@ +module github.com/Microsoft/go-winio + +go 1.12 + +require ( + github.com/pkg/errors v0.8.1 + github.com/sirupsen/logrus v1.4.1 + golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b +) diff --git a/vendor/github.com/Microsoft/go-winio/go.sum b/vendor/github.com/Microsoft/go-winio/go.sum new file mode 100644 index 00000000000..babb4a70df9 --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/go.sum @@ -0,0 +1,16 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/sirupsen/logrus v1.4.1 h1:GL2rEmy6nsikmW0r8opw9JIRScdMF5hA8cOYLH7In1k= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b h1:ag/x1USPSsqHud38I9BAC88qdNLDHHtQ4mlgQIZPPNA= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= diff --git a/vendor/github.com/Microsoft/go-winio/hvsock.go b/vendor/github.com/Microsoft/go-winio/hvsock.go new file mode 100644 index 00000000000..dbfe790ee00 --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/hvsock.go @@ -0,0 +1,305 @@ +package winio + +import ( + "fmt" + "io" + "net" + "os" + "syscall" + "time" + "unsafe" + + "github.com/Microsoft/go-winio/pkg/guid" +) + +//sys bind(s syscall.Handle, name unsafe.Pointer, namelen int32) (err error) [failretval==socketError] = ws2_32.bind + +const ( + afHvSock = 34 // AF_HYPERV + + socketError = ^uintptr(0) +) + +// An HvsockAddr is an address for a AF_HYPERV socket. +type HvsockAddr struct { + VMID guid.GUID + ServiceID guid.GUID +} + +type rawHvsockAddr struct { + Family uint16 + _ uint16 + VMID guid.GUID + ServiceID guid.GUID +} + +// Network returns the address's network name, "hvsock". +func (addr *HvsockAddr) Network() string { + return "hvsock" +} + +func (addr *HvsockAddr) String() string { + return fmt.Sprintf("%s:%s", &addr.VMID, &addr.ServiceID) +} + +// VsockServiceID returns an hvsock service ID corresponding to the specified AF_VSOCK port. +func VsockServiceID(port uint32) guid.GUID { + g, _ := guid.FromString("00000000-facb-11e6-bd58-64006a7986d3") + g.Data1 = port + return g +} + +func (addr *HvsockAddr) raw() rawHvsockAddr { + return rawHvsockAddr{ + Family: afHvSock, + VMID: addr.VMID, + ServiceID: addr.ServiceID, + } +} + +func (addr *HvsockAddr) fromRaw(raw *rawHvsockAddr) { + addr.VMID = raw.VMID + addr.ServiceID = raw.ServiceID +} + +// HvsockListener is a socket listener for the AF_HYPERV address family. +type HvsockListener struct { + sock *win32File + addr HvsockAddr +} + +// HvsockConn is a connected socket of the AF_HYPERV address family. +type HvsockConn struct { + sock *win32File + local, remote HvsockAddr +} + +func newHvSocket() (*win32File, error) { + fd, err := syscall.Socket(afHvSock, syscall.SOCK_STREAM, 1) + if err != nil { + return nil, os.NewSyscallError("socket", err) + } + f, err := makeWin32File(fd) + if err != nil { + syscall.Close(fd) + return nil, err + } + f.socket = true + return f, nil +} + +// ListenHvsock listens for connections on the specified hvsock address. +func ListenHvsock(addr *HvsockAddr) (_ *HvsockListener, err error) { + l := &HvsockListener{addr: *addr} + sock, err := newHvSocket() + if err != nil { + return nil, l.opErr("listen", err) + } + sa := addr.raw() + err = bind(sock.handle, unsafe.Pointer(&sa), int32(unsafe.Sizeof(sa))) + if err != nil { + return nil, l.opErr("listen", os.NewSyscallError("socket", err)) + } + err = syscall.Listen(sock.handle, 16) + if err != nil { + return nil, l.opErr("listen", os.NewSyscallError("listen", err)) + } + return &HvsockListener{sock: sock, addr: *addr}, nil +} + +func (l *HvsockListener) opErr(op string, err error) error { + return &net.OpError{Op: op, Net: "hvsock", Addr: &l.addr, Err: err} +} + +// Addr returns the listener's network address. +func (l *HvsockListener) Addr() net.Addr { + return &l.addr +} + +// Accept waits for the next connection and returns it. +func (l *HvsockListener) Accept() (_ net.Conn, err error) { + sock, err := newHvSocket() + if err != nil { + return nil, l.opErr("accept", err) + } + defer func() { + if sock != nil { + sock.Close() + } + }() + c, err := l.sock.prepareIo() + if err != nil { + return nil, l.opErr("accept", err) + } + defer l.sock.wg.Done() + + // AcceptEx, per documentation, requires an extra 16 bytes per address. + const addrlen = uint32(16 + unsafe.Sizeof(rawHvsockAddr{})) + var addrbuf [addrlen * 2]byte + + var bytes uint32 + err = syscall.AcceptEx(l.sock.handle, sock.handle, &addrbuf[0], 0, addrlen, addrlen, &bytes, &c.o) + _, err = l.sock.asyncIo(c, nil, bytes, err) + if err != nil { + return nil, l.opErr("accept", os.NewSyscallError("acceptex", err)) + } + conn := &HvsockConn{ + sock: sock, + } + conn.local.fromRaw((*rawHvsockAddr)(unsafe.Pointer(&addrbuf[0]))) + conn.remote.fromRaw((*rawHvsockAddr)(unsafe.Pointer(&addrbuf[addrlen]))) + sock = nil + return conn, nil +} + +// Close closes the listener, causing any pending Accept calls to fail. +func (l *HvsockListener) Close() error { + return l.sock.Close() +} + +/* Need to finish ConnectEx handling +func DialHvsock(ctx context.Context, addr *HvsockAddr) (*HvsockConn, error) { + sock, err := newHvSocket() + if err != nil { + return nil, err + } + defer func() { + if sock != nil { + sock.Close() + } + }() + c, err := sock.prepareIo() + if err != nil { + return nil, err + } + defer sock.wg.Done() + var bytes uint32 + err = windows.ConnectEx(windows.Handle(sock.handle), sa, nil, 0, &bytes, &c.o) + _, err = sock.asyncIo(ctx, c, nil, bytes, err) + if err != nil { + return nil, err + } + conn := &HvsockConn{ + sock: sock, + remote: *addr, + } + sock = nil + return conn, nil +} +*/ + +func (conn *HvsockConn) opErr(op string, err error) error { + return &net.OpError{Op: op, Net: "hvsock", Source: &conn.local, Addr: &conn.remote, Err: err} +} + +func (conn *HvsockConn) Read(b []byte) (int, error) { + c, err := conn.sock.prepareIo() + if err != nil { + return 0, conn.opErr("read", err) + } + defer conn.sock.wg.Done() + buf := syscall.WSABuf{Buf: &b[0], Len: uint32(len(b))} + var flags, bytes uint32 + err = syscall.WSARecv(conn.sock.handle, &buf, 1, &bytes, &flags, &c.o, nil) + n, err := conn.sock.asyncIo(c, &conn.sock.readDeadline, bytes, err) + if err != nil { + if _, ok := err.(syscall.Errno); ok { + err = os.NewSyscallError("wsarecv", err) + } + return 0, conn.opErr("read", err) + } else if n == 0 { + err = io.EOF + } + return n, err +} + +func (conn *HvsockConn) Write(b []byte) (int, error) { + t := 0 + for len(b) != 0 { + n, err := conn.write(b) + if err != nil { + return t + n, err + } + t += n + b = b[n:] + } + return t, nil +} + +func (conn *HvsockConn) write(b []byte) (int, error) { + c, err := conn.sock.prepareIo() + if err != nil { + return 0, conn.opErr("write", err) + } + defer conn.sock.wg.Done() + buf := syscall.WSABuf{Buf: &b[0], Len: uint32(len(b))} + var bytes uint32 + err = syscall.WSASend(conn.sock.handle, &buf, 1, &bytes, 0, &c.o, nil) + n, err := conn.sock.asyncIo(c, &conn.sock.writeDeadline, bytes, err) + if err != nil { + if _, ok := err.(syscall.Errno); ok { + err = os.NewSyscallError("wsasend", err) + } + return 0, conn.opErr("write", err) + } + return n, err +} + +// Close closes the socket connection, failing any pending read or write calls. +func (conn *HvsockConn) Close() error { + return conn.sock.Close() +} + +func (conn *HvsockConn) shutdown(how int) error { + err := syscall.Shutdown(conn.sock.handle, syscall.SHUT_RD) + if err != nil { + return os.NewSyscallError("shutdown", err) + } + return nil +} + +// CloseRead shuts down the read end of the socket. +func (conn *HvsockConn) CloseRead() error { + err := conn.shutdown(syscall.SHUT_RD) + if err != nil { + return conn.opErr("close", err) + } + return nil +} + +// CloseWrite shuts down the write end of the socket, notifying the other endpoint that +// no more data will be written. +func (conn *HvsockConn) CloseWrite() error { + err := conn.shutdown(syscall.SHUT_WR) + if err != nil { + return conn.opErr("close", err) + } + return nil +} + +// LocalAddr returns the local address of the connection. +func (conn *HvsockConn) LocalAddr() net.Addr { + return &conn.local +} + +// RemoteAddr returns the remote address of the connection. +func (conn *HvsockConn) RemoteAddr() net.Addr { + return &conn.remote +} + +// SetDeadline implements the net.Conn SetDeadline method. +func (conn *HvsockConn) SetDeadline(t time.Time) error { + conn.SetReadDeadline(t) + conn.SetWriteDeadline(t) + return nil +} + +// SetReadDeadline implements the net.Conn SetReadDeadline method. +func (conn *HvsockConn) SetReadDeadline(t time.Time) error { + return conn.sock.SetReadDeadline(t) +} + +// SetWriteDeadline implements the net.Conn SetWriteDeadline method. +func (conn *HvsockConn) SetWriteDeadline(t time.Time) error { + return conn.sock.SetWriteDeadline(t) +} diff --git a/vendor/github.com/Microsoft/go-winio/pipe.go b/vendor/github.com/Microsoft/go-winio/pipe.go index d99eedb6489..c645cf48318 100644 --- a/vendor/github.com/Microsoft/go-winio/pipe.go +++ b/vendor/github.com/Microsoft/go-winio/pipe.go @@ -3,10 +3,13 @@ package winio import ( + "context" "errors" + "fmt" "io" "net" "os" + "runtime" "syscall" "time" "unsafe" @@ -18,6 +21,48 @@ import ( //sys getNamedPipeInfo(pipe syscall.Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) = GetNamedPipeInfo //sys getNamedPipeHandleState(pipe syscall.Handle, state *uint32, curInstances *uint32, maxCollectionCount *uint32, collectDataTimeout *uint32, userName *uint16, maxUserNameSize uint32) (err error) = GetNamedPipeHandleStateW //sys localAlloc(uFlags uint32, length uint32) (ptr uintptr) = LocalAlloc +//sys ntCreateNamedPipeFile(pipe *syscall.Handle, access uint32, oa *objectAttributes, iosb *ioStatusBlock, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (status ntstatus) = ntdll.NtCreateNamedPipeFile +//sys rtlNtStatusToDosError(status ntstatus) (winerr error) = ntdll.RtlNtStatusToDosErrorNoTeb +//sys rtlDosPathNameToNtPathName(name *uint16, ntName *unicodeString, filePart uintptr, reserved uintptr) (status ntstatus) = ntdll.RtlDosPathNameToNtPathName_U +//sys rtlDefaultNpAcl(dacl *uintptr) (status ntstatus) = ntdll.RtlDefaultNpAcl + +type ioStatusBlock struct { + Status, Information uintptr +} + +type objectAttributes struct { + Length uintptr + RootDirectory uintptr + ObjectName *unicodeString + Attributes uintptr + SecurityDescriptor *securityDescriptor + SecurityQoS uintptr +} + +type unicodeString struct { + Length uint16 + MaximumLength uint16 + Buffer uintptr +} + +type securityDescriptor struct { + Revision byte + Sbz1 byte + Control uint16 + Owner uintptr + Group uintptr + Sacl uintptr + Dacl uintptr +} + +type ntstatus int32 + +func (status ntstatus) Err() error { + if status >= 0 { + return nil + } + return rtlNtStatusToDosError(status) +} const ( cERROR_PIPE_BUSY = syscall.Errno(231) @@ -25,21 +70,20 @@ const ( cERROR_PIPE_CONNECTED = syscall.Errno(535) cERROR_SEM_TIMEOUT = syscall.Errno(121) - cPIPE_ACCESS_DUPLEX = 0x3 - cFILE_FLAG_FIRST_PIPE_INSTANCE = 0x80000 - cSECURITY_SQOS_PRESENT = 0x100000 - cSECURITY_ANONYMOUS = 0 + cSECURITY_SQOS_PRESENT = 0x100000 + cSECURITY_ANONYMOUS = 0 - cPIPE_REJECT_REMOTE_CLIENTS = 0x8 + cPIPE_TYPE_MESSAGE = 4 - cPIPE_UNLIMITED_INSTANCES = 255 + cPIPE_READMODE_MESSAGE = 2 - cNMPWAIT_USE_DEFAULT_WAIT = 0 - cNMPWAIT_NOWAIT = 1 + cFILE_OPEN = 1 + cFILE_CREATE = 2 - cPIPE_TYPE_MESSAGE = 4 + cFILE_PIPE_MESSAGE_TYPE = 1 + cFILE_PIPE_REJECT_REMOTE_CLIENTS = 2 - cPIPE_READMODE_MESSAGE = 2 + cSE_DACL_PRESENT = 4 ) var ( @@ -137,9 +181,30 @@ func (s pipeAddress) String() string { return string(s) } +// tryDialPipe attempts to dial the pipe at `path` until `ctx` cancellation or timeout. +func tryDialPipe(ctx context.Context, path *string) (syscall.Handle, error) { + for { + select { + case <-ctx.Done(): + return syscall.Handle(0), ctx.Err() + default: + h, err := createFile(*path, syscall.GENERIC_READ|syscall.GENERIC_WRITE, 0, nil, syscall.OPEN_EXISTING, syscall.FILE_FLAG_OVERLAPPED|cSECURITY_SQOS_PRESENT|cSECURITY_ANONYMOUS, 0) + if err == nil { + return h, nil + } + if err != cERROR_PIPE_BUSY { + return h, &os.PathError{Err: err, Op: "open", Path: *path} + } + // Wait 10 msec and try again. This is a rather simplistic + // view, as we always try each 10 milliseconds. + time.Sleep(time.Millisecond * 10) + } + } +} + // DialPipe connects to a named pipe by path, timing out if the connection // takes longer than the specified duration. If timeout is nil, then we use -// a default timeout of 5 seconds. (We do not use WaitNamedPipe.) +// a default timeout of 2 seconds. (We do not use WaitNamedPipe.) func DialPipe(path string, timeout *time.Duration) (net.Conn, error) { var absTimeout time.Time if timeout != nil { @@ -147,23 +212,22 @@ func DialPipe(path string, timeout *time.Duration) (net.Conn, error) { } else { absTimeout = time.Now().Add(time.Second * 2) } + ctx, _ := context.WithDeadline(context.Background(), absTimeout) + conn, err := DialPipeContext(ctx, path) + if err == context.DeadlineExceeded { + return nil, ErrTimeout + } + return conn, err +} + +// DialPipeContext attempts to connect to a named pipe by `path` until `ctx` +// cancellation or timeout. +func DialPipeContext(ctx context.Context, path string) (net.Conn, error) { var err error var h syscall.Handle - for { - h, err = createFile(path, syscall.GENERIC_READ|syscall.GENERIC_WRITE, 0, nil, syscall.OPEN_EXISTING, syscall.FILE_FLAG_OVERLAPPED|cSECURITY_SQOS_PRESENT|cSECURITY_ANONYMOUS, 0) - if err != cERROR_PIPE_BUSY { - break - } - if time.Now().After(absTimeout) { - return nil, ErrTimeout - } - - // Wait 10 msec and try again. This is a rather simplistic - // view, as we always try each 10 milliseconds. - time.Sleep(time.Millisecond * 10) - } + h, err = tryDialPipe(ctx, &path) if err != nil { - return nil, &os.PathError{Op: "open", Path: path, Err: err} + return nil, err } var flags uint32 @@ -194,43 +258,87 @@ type acceptResponse struct { } type win32PipeListener struct { - firstHandle syscall.Handle - path string - securityDescriptor []byte - config PipeConfig - acceptCh chan (chan acceptResponse) - closeCh chan int - doneCh chan int + firstHandle syscall.Handle + path string + config PipeConfig + acceptCh chan (chan acceptResponse) + closeCh chan int + doneCh chan int } -func makeServerPipeHandle(path string, securityDescriptor []byte, c *PipeConfig, first bool) (syscall.Handle, error) { - var flags uint32 = cPIPE_ACCESS_DUPLEX | syscall.FILE_FLAG_OVERLAPPED +func makeServerPipeHandle(path string, sd []byte, c *PipeConfig, first bool) (syscall.Handle, error) { + path16, err := syscall.UTF16FromString(path) + if err != nil { + return 0, &os.PathError{Op: "open", Path: path, Err: err} + } + + var oa objectAttributes + oa.Length = unsafe.Sizeof(oa) + + var ntPath unicodeString + if err := rtlDosPathNameToNtPathName(&path16[0], &ntPath, 0, 0).Err(); err != nil { + return 0, &os.PathError{Op: "open", Path: path, Err: err} + } + defer localFree(ntPath.Buffer) + oa.ObjectName = &ntPath + + // The security descriptor is only needed for the first pipe. if first { - flags |= cFILE_FLAG_FIRST_PIPE_INSTANCE + if sd != nil { + len := uint32(len(sd)) + sdb := localAlloc(0, len) + defer localFree(sdb) + copy((*[0xffff]byte)(unsafe.Pointer(sdb))[:], sd) + oa.SecurityDescriptor = (*securityDescriptor)(unsafe.Pointer(sdb)) + } else { + // Construct the default named pipe security descriptor. + var dacl uintptr + if err := rtlDefaultNpAcl(&dacl).Err(); err != nil { + return 0, fmt.Errorf("getting default named pipe ACL: %s", err) + } + defer localFree(dacl) + + sdb := &securityDescriptor{ + Revision: 1, + Control: cSE_DACL_PRESENT, + Dacl: dacl, + } + oa.SecurityDescriptor = sdb + } } - var mode uint32 = cPIPE_REJECT_REMOTE_CLIENTS + typ := uint32(cFILE_PIPE_REJECT_REMOTE_CLIENTS) if c.MessageMode { - mode |= cPIPE_TYPE_MESSAGE + typ |= cFILE_PIPE_MESSAGE_TYPE } - sa := &syscall.SecurityAttributes{} - sa.Length = uint32(unsafe.Sizeof(*sa)) - if securityDescriptor != nil { - len := uint32(len(securityDescriptor)) - sa.SecurityDescriptor = localAlloc(0, len) - defer localFree(sa.SecurityDescriptor) - copy((*[0xffff]byte)(unsafe.Pointer(sa.SecurityDescriptor))[:], securityDescriptor) + disposition := uint32(cFILE_OPEN) + access := uint32(syscall.GENERIC_READ | syscall.GENERIC_WRITE | syscall.SYNCHRONIZE) + if first { + disposition = cFILE_CREATE + // By not asking for read or write access, the named pipe file system + // will put this pipe into an initially disconnected state, blocking + // client connections until the next call with first == false. + access = syscall.SYNCHRONIZE } - h, err := createNamedPipe(path, flags, mode, cPIPE_UNLIMITED_INSTANCES, uint32(c.OutputBufferSize), uint32(c.InputBufferSize), 0, sa) + + timeout := int64(-50 * 10000) // 50ms + + var ( + h syscall.Handle + iosb ioStatusBlock + ) + err = ntCreateNamedPipeFile(&h, access, &oa, &iosb, syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE, disposition, 0, typ, 0, 0, 0xffffffff, uint32(c.InputBufferSize), uint32(c.OutputBufferSize), &timeout).Err() if err != nil { return 0, &os.PathError{Op: "open", Path: path, Err: err} } + + runtime.KeepAlive(ntPath) return h, nil } func (l *win32PipeListener) makeServerPipe() (*win32File, error) { - h, err := makeServerPipeHandle(l.path, l.securityDescriptor, &l.config, false) + h, err := makeServerPipeHandle(l.path, nil, &l.config, false) if err != nil { return nil, err } @@ -321,6 +429,28 @@ type PipeConfig struct { OutputBufferSize int32 } +// ListenOnlyPipe creates a listener on a Windows named pipe path, e.g. \\.\pipe\mypipe. +// The pipe must already exist. +func ListenOnlyPipe(path string, c *PipeConfig) (net.Listener, error) { + if c == nil { + c = &PipeConfig{} + } + h, err := makeServerPipeHandle(path, nil, c, false) + if err != nil { + return nil, err + } + l := &win32PipeListener{ + firstHandle: h, + path: path, + config: *c, + acceptCh: make(chan (chan acceptResponse)), + closeCh: make(chan int), + doneCh: make(chan int), + } + go l.listenerRoutine() + return l, nil +} + // ListenPipe creates a listener on a Windows named pipe path, e.g. \\.\pipe\mypipe. // The pipe must not already exist. func ListenPipe(path string, c *PipeConfig) (net.Listener, error) { @@ -341,32 +471,13 @@ func ListenPipe(path string, c *PipeConfig) (net.Listener, error) { if err != nil { return nil, err } - // Create a client handle and connect it. This results in the pipe - // instance always existing, so that clients see ERROR_PIPE_BUSY - // rather than ERROR_FILE_NOT_FOUND. This ties the first instance - // up so that no other instances can be used. This would have been - // cleaner if the Win32 API matched CreateFile with ConnectNamedPipe - // instead of CreateNamedPipe. (Apparently created named pipes are - // considered to be in listening state regardless of whether any - // active calls to ConnectNamedPipe are outstanding.) - h2, err := createFile(path, 0, 0, nil, syscall.OPEN_EXISTING, cSECURITY_SQOS_PRESENT|cSECURITY_ANONYMOUS, 0) - if err != nil { - syscall.Close(h) - return nil, err - } - // Close the client handle. The server side of the instance will - // still be busy, leading to ERROR_PIPE_BUSY instead of - // ERROR_NOT_FOUND, as long as we don't close the server handle, - // or disconnect the client with DisconnectNamedPipe. - syscall.Close(h2) l := &win32PipeListener{ - firstHandle: h, - path: path, - securityDescriptor: sd, - config: *c, - acceptCh: make(chan (chan acceptResponse)), - closeCh: make(chan int), - doneCh: make(chan int), + firstHandle: h, + path: path, + config: *c, + acceptCh: make(chan (chan acceptResponse)), + closeCh: make(chan int), + doneCh: make(chan int), } go l.listenerRoutine() return l, nil diff --git a/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go b/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go new file mode 100644 index 00000000000..d0595f6678f --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/pkg/guid/guid.go @@ -0,0 +1,187 @@ +// Package guid provides a GUID type. The backing structure for a GUID is +// identical to that used by the golang.org/x/sys/windows GUID type. +// There are two main binary encodings used for a GUID, the big-endian encoding, +// and the Windows (mixed-endian) encoding. See here for details: +// https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding +package guid + +import ( + "crypto/rand" + "encoding" + "encoding/binary" + "fmt" + "strconv" + + "golang.org/x/sys/windows" +) + +// Variant specifies which GUID variant (or "type") of the GUID. It determines +// how the entirety of the rest of the GUID is interpreted. +type Variant uint8 + +// The variants specified by RFC 4122. +const ( + // VariantUnknown specifies a GUID variant which does not conform to one of + // the variant encodings specified in RFC 4122. + VariantUnknown Variant = iota + VariantNCS + VariantRFC4122 + VariantMicrosoft + VariantFuture +) + +// Version specifies how the bits in the GUID were generated. For instance, a +// version 4 GUID is randomly generated, and a version 5 is generated from the +// hash of an input string. +type Version uint8 + +var _ = (encoding.TextMarshaler)(GUID{}) +var _ = (encoding.TextUnmarshaler)(&GUID{}) + +// GUID represents a GUID/UUID. It has the same structure as +// golang.org/x/sys/windows.GUID so that it can be used with functions expecting +// that type. It is defined as its own type so that stringification and +// marshaling can be supported. The representation matches that used by native +// Windows code. +type GUID windows.GUID + +// NewV4 returns a new version 4 (pseudorandom) GUID, as defined by RFC 4122. +func NewV4() (GUID, error) { + var b [16]byte + if _, err := rand.Read(b[:]); err != nil { + return GUID{}, err + } + + b[6] = (b[6] & 0x0f) | 0x40 // Version 4 (randomly generated) + b[8] = (b[8] & 0x3f) | 0x80 // RFC4122 variant + + return FromArray(b), nil +} + +func fromArray(b [16]byte, order binary.ByteOrder) GUID { + var g GUID + g.Data1 = order.Uint32(b[0:4]) + g.Data2 = order.Uint16(b[4:6]) + g.Data3 = order.Uint16(b[6:8]) + copy(g.Data4[:], b[8:16]) + return g +} + +func (g GUID) toArray(order binary.ByteOrder) [16]byte { + b := [16]byte{} + order.PutUint32(b[0:4], g.Data1) + order.PutUint16(b[4:6], g.Data2) + order.PutUint16(b[6:8], g.Data3) + copy(b[8:16], g.Data4[:]) + return b +} + +// FromArray constructs a GUID from a big-endian encoding array of 16 bytes. +func FromArray(b [16]byte) GUID { + return fromArray(b, binary.BigEndian) +} + +// ToArray returns an array of 16 bytes representing the GUID in big-endian +// encoding. +func (g GUID) ToArray() [16]byte { + return g.toArray(binary.BigEndian) +} + +// FromWindowsArray constructs a GUID from a Windows encoding array of bytes. +func FromWindowsArray(b [16]byte) GUID { + return fromArray(b, binary.LittleEndian) +} + +// ToWindowsArray returns an array of 16 bytes representing the GUID in Windows +// encoding. +func (g GUID) ToWindowsArray() [16]byte { + return g.toArray(binary.LittleEndian) +} + +func (g GUID) String() string { + return fmt.Sprintf( + "%08x-%04x-%04x-%04x-%012x", + g.Data1, + g.Data2, + g.Data3, + g.Data4[:2], + g.Data4[2:]) +} + +// FromString parses a string containing a GUID and returns the GUID. The only +// format currently supported is the `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` +// format. +func FromString(s string) (GUID, error) { + if len(s) != 36 { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + + var g GUID + + data1, err := strconv.ParseUint(s[0:8], 16, 32) + if err != nil { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + g.Data1 = uint32(data1) + + data2, err := strconv.ParseUint(s[9:13], 16, 16) + if err != nil { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + g.Data2 = uint16(data2) + + data3, err := strconv.ParseUint(s[14:18], 16, 16) + if err != nil { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + g.Data3 = uint16(data3) + + for i, x := range []int{19, 21, 24, 26, 28, 30, 32, 34} { + v, err := strconv.ParseUint(s[x:x+2], 16, 8) + if err != nil { + return GUID{}, fmt.Errorf("invalid GUID %q", s) + } + g.Data4[i] = uint8(v) + } + + return g, nil +} + +// Variant returns the GUID variant, as defined in RFC 4122. +func (g GUID) Variant() Variant { + b := g.Data4[0] + if b&0x80 == 0 { + return VariantNCS + } else if b&0xc0 == 0x80 { + return VariantRFC4122 + } else if b&0xe0 == 0xc0 { + return VariantMicrosoft + } else if b&0xe0 == 0xe0 { + return VariantFuture + } + return VariantUnknown +} + +// Version returns the GUID version, as defined in RFC 4122. +func (g GUID) Version() Version { + return Version((g.Data3 & 0xF000) >> 12) +} + +// MarshalText returns the textual representation of the GUID. +func (g GUID) MarshalText() ([]byte, error) { + return []byte(g.String()), nil +} + +// UnmarshalText takes the textual representation of a GUID, and unmarhals it +// into this GUID. +func (g *GUID) UnmarshalText(text []byte) error { + g2, err := FromString(string(text)) + if err != nil { + return err + } + *g = g2 + return nil +} diff --git a/vendor/github.com/Microsoft/go-winio/syscall.go b/vendor/github.com/Microsoft/go-winio/syscall.go index 20d64cf41d0..5cb52bc7462 100644 --- a/vendor/github.com/Microsoft/go-winio/syscall.go +++ b/vendor/github.com/Microsoft/go-winio/syscall.go @@ -1,3 +1,3 @@ package winio -//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go file.go pipe.go sd.go fileinfo.go privilege.go backup.go +//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go file.go pipe.go sd.go fileinfo.go privilege.go backup.go hvsock.go diff --git a/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go b/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go index 3f527639a47..e26b01fafb2 100644 --- a/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go @@ -1,4 +1,4 @@ -// MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT +// Code generated by 'go generate'; DO NOT EDIT. package winio @@ -38,19 +38,25 @@ func errnoErr(e syscall.Errno) error { var ( modkernel32 = windows.NewLazySystemDLL("kernel32.dll") + modws2_32 = windows.NewLazySystemDLL("ws2_32.dll") + modntdll = windows.NewLazySystemDLL("ntdll.dll") modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") procCancelIoEx = modkernel32.NewProc("CancelIoEx") procCreateIoCompletionPort = modkernel32.NewProc("CreateIoCompletionPort") procGetQueuedCompletionStatus = modkernel32.NewProc("GetQueuedCompletionStatus") procSetFileCompletionNotificationModes = modkernel32.NewProc("SetFileCompletionNotificationModes") + procWSAGetOverlappedResult = modws2_32.NewProc("WSAGetOverlappedResult") procConnectNamedPipe = modkernel32.NewProc("ConnectNamedPipe") procCreateNamedPipeW = modkernel32.NewProc("CreateNamedPipeW") procCreateFileW = modkernel32.NewProc("CreateFileW") - procWaitNamedPipeW = modkernel32.NewProc("WaitNamedPipeW") procGetNamedPipeInfo = modkernel32.NewProc("GetNamedPipeInfo") procGetNamedPipeHandleStateW = modkernel32.NewProc("GetNamedPipeHandleStateW") procLocalAlloc = modkernel32.NewProc("LocalAlloc") + procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") + procRtlNtStatusToDosErrorNoTeb = modntdll.NewProc("RtlNtStatusToDosErrorNoTeb") + procRtlDosPathNameToNtPathName_U = modntdll.NewProc("RtlDosPathNameToNtPathName_U") + procRtlDefaultNpAcl = modntdll.NewProc("RtlDefaultNpAcl") procLookupAccountNameW = modadvapi32.NewProc("LookupAccountNameW") procConvertSidToStringSidW = modadvapi32.NewProc("ConvertSidToStringSidW") procConvertStringSecurityDescriptorToSecurityDescriptorW = modadvapi32.NewProc("ConvertStringSecurityDescriptorToSecurityDescriptorW") @@ -69,6 +75,7 @@ var ( procLookupPrivilegeDisplayNameW = modadvapi32.NewProc("LookupPrivilegeDisplayNameW") procBackupRead = modkernel32.NewProc("BackupRead") procBackupWrite = modkernel32.NewProc("BackupWrite") + procbind = modws2_32.NewProc("bind") ) func cancelIoEx(file syscall.Handle, o *syscall.Overlapped) (err error) { @@ -120,6 +127,24 @@ func setFileCompletionNotificationModes(h syscall.Handle, flags uint8) (err erro return } +func wsaGetOverlappedResult(h syscall.Handle, o *syscall.Overlapped, bytes *uint32, wait bool, flags *uint32) (err error) { + var _p0 uint32 + if wait { + _p0 = 1 + } else { + _p0 = 0 + } + r1, _, e1 := syscall.Syscall6(procWSAGetOverlappedResult.Addr(), 5, uintptr(h), uintptr(unsafe.Pointer(o)), uintptr(unsafe.Pointer(bytes)), uintptr(_p0), uintptr(unsafe.Pointer(flags)), 0) + if r1 == 0 { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} + func connectNamedPipe(pipe syscall.Handle, o *syscall.Overlapped) (err error) { r1, _, e1 := syscall.Syscall(procConnectNamedPipe.Addr(), 2, uintptr(pipe), uintptr(unsafe.Pointer(o)), 0) if r1 == 0 { @@ -176,27 +201,6 @@ func _createFile(name *uint16, access uint32, mode uint32, sa *syscall.SecurityA return } -func waitNamedPipe(name string, timeout uint32) (err error) { - var _p0 *uint16 - _p0, err = syscall.UTF16PtrFromString(name) - if err != nil { - return - } - return _waitNamedPipe(_p0, timeout) -} - -func _waitNamedPipe(name *uint16, timeout uint32) (err error) { - r1, _, e1 := syscall.Syscall(procWaitNamedPipeW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(timeout), 0) - if r1 == 0 { - if e1 != 0 { - err = errnoErr(e1) - } else { - err = syscall.EINVAL - } - } - return -} - func getNamedPipeInfo(pipe syscall.Handle, flags *uint32, outSize *uint32, inSize *uint32, maxInstances *uint32) (err error) { r1, _, e1 := syscall.Syscall6(procGetNamedPipeInfo.Addr(), 5, uintptr(pipe), uintptr(unsafe.Pointer(flags)), uintptr(unsafe.Pointer(outSize)), uintptr(unsafe.Pointer(inSize)), uintptr(unsafe.Pointer(maxInstances)), 0) if r1 == 0 { @@ -227,6 +231,32 @@ func localAlloc(uFlags uint32, length uint32) (ptr uintptr) { return } +func ntCreateNamedPipeFile(pipe *syscall.Handle, access uint32, oa *objectAttributes, iosb *ioStatusBlock, share uint32, disposition uint32, options uint32, typ uint32, readMode uint32, completionMode uint32, maxInstances uint32, inboundQuota uint32, outputQuota uint32, timeout *int64) (status ntstatus) { + r0, _, _ := syscall.Syscall15(procNtCreateNamedPipeFile.Addr(), 14, uintptr(unsafe.Pointer(pipe)), uintptr(access), uintptr(unsafe.Pointer(oa)), uintptr(unsafe.Pointer(iosb)), uintptr(share), uintptr(disposition), uintptr(options), uintptr(typ), uintptr(readMode), uintptr(completionMode), uintptr(maxInstances), uintptr(inboundQuota), uintptr(outputQuota), uintptr(unsafe.Pointer(timeout)), 0) + status = ntstatus(r0) + return +} + +func rtlNtStatusToDosError(status ntstatus) (winerr error) { + r0, _, _ := syscall.Syscall(procRtlNtStatusToDosErrorNoTeb.Addr(), 1, uintptr(status), 0, 0) + if r0 != 0 { + winerr = syscall.Errno(r0) + } + return +} + +func rtlDosPathNameToNtPathName(name *uint16, ntName *unicodeString, filePart uintptr, reserved uintptr) (status ntstatus) { + r0, _, _ := syscall.Syscall6(procRtlDosPathNameToNtPathName_U.Addr(), 4, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(ntName)), uintptr(filePart), uintptr(reserved), 0, 0) + status = ntstatus(r0) + return +} + +func rtlDefaultNpAcl(dacl *uintptr) (status ntstatus) { + r0, _, _ := syscall.Syscall(procRtlDefaultNpAcl.Addr(), 1, uintptr(unsafe.Pointer(dacl)), 0, 0) + status = ntstatus(r0) + return +} + func lookupAccountName(systemName *uint16, accountName string, sid *byte, sidSize *uint32, refDomain *uint16, refDomainSize *uint32, sidNameUse *uint32) (err error) { var _p0 *uint16 _p0, err = syscall.UTF16PtrFromString(accountName) @@ -518,3 +548,15 @@ func backupWrite(h syscall.Handle, b []byte, bytesWritten *uint32, abort bool, p } return } + +func bind(s syscall.Handle, name unsafe.Pointer, namelen int32) (err error) { + r1, _, e1 := syscall.Syscall(procbind.Addr(), 3, uintptr(s), uintptr(name), uintptr(namelen)) + if r1 == socketError { + if e1 != 0 { + err = errnoErr(e1) + } else { + err = syscall.EINVAL + } + } + return +} diff --git a/vendor/vendor.json b/vendor/vendor.json index 69d9a59b458..b3a756fd1b8 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -8,7 +8,8 @@ {"path":"github.com/Azure/go-ansiterm/winterm","checksumSHA1":"3/UphB+6Hbx5otA4PjFjvObT+L4=","revision":"d6e3b3328b783f23731bc4d058875b0371ff8109","revisionTime":"2017-09-29T23:40:23Z","version":"master","versionExact":"master"}, {"path":"github.com/DataDog/datadog-go/statsd","checksumSHA1":"WvApwvvSe3i/3KO8300dyeFmkbI=","revision":"b10af4b12965a1ad08d164f57d14195b4140d8de","revisionTime":"2017-08-09T10:47:06Z"}, {"path":"github.com/LK4D4/joincontext","checksumSHA1":"Jmf4AnrptgBdQ5TPBJ2M89nooIQ=","revision":"1724345da6d5bcc8b66fefb843b607ab918e175c","revisionTime":"2017-10-26T17:01:39Z"}, - {"path":"github.com/Microsoft/go-winio","checksumSHA1":"PbR6ZKoLeSZl8aXxDQqXih0wSgE=","revision":"97e4973ce50b2ff5f09635a57e2b88a037aae829","revisionTime":"2018-08-23T22:24:21Z"}, + {"path":"github.com/Microsoft/go-winio","checksumSHA1":"nEVw+80Junfo7iEY7ThP7Ci9Pyk=","origin":"github.com/endocrimes/go-winio","revision":"fb47a8b419480a700368c176bc1d5d7e3393b98d","revisionTime":"2019-06-20T17:03:19Z","version":"dani/safe-relisten","versionExact":"dani/safe-relisten"}, + {"path":"github.com/Microsoft/go-winio/pkg/guid","checksumSHA1":"/ykkyb7gmtZC68n7T24xwbmlCBc=","origin":"github.com/endocrimes/go-winio/pkg/guid","revision":"fb47a8b419480a700368c176bc1d5d7e3393b98d","revisionTime":"2019-06-20T17:03:19Z","version":"dani/safe-relisten","versionExact":"dani/safe-relisten"}, {"path":"github.com/NVIDIA/gpu-monitoring-tools","checksumSHA1":"kF1vk+8Xvb3nGBiw9+qbUc0SZ4M=","revision":"86f2a9fac6c5b597dc494420005144b8ef7ec9fb","revisionTime":"2018-08-29T22:20:09Z"}, {"path":"github.com/NVIDIA/gpu-monitoring-tools/bindings/go/nvml","checksumSHA1":"P8FATSSgpe5A17FyPrGpsX95Xw8=","revision":"86f2a9fac6c5b597dc494420005144b8ef7ec9fb","revisionTime":"2018-08-29T22:20:09Z"}, {"path":"github.com/NYTimes/gziphandler","checksumSHA1":"jktW57+vJsziNVPeXMCoujTzdW4=","revision":"97ae7fbaf81620fe97840685304a78a306a39c64","revisionTime":"2017-09-16T00:36:49Z"}, From e6daf3b5bd581ccdeaa848b0ff7a1a55672a55fe Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Fri, 28 Jun 2019 13:35:41 +0200 Subject: [PATCH 14/32] fifo: Require that fifos do not exist for create Although this operation is safe on linux, it is not safe on Windows when using the named pipe interface. To provide a ~reasonable common api abstraction, here we switch to returning File exists errors on the unix api. --- client/lib/fifo/fifo_unix.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/lib/fifo/fifo_unix.go b/client/lib/fifo/fifo_unix.go index 1533b0beec7..c1d90a3adb3 100644 --- a/client/lib/fifo/fifo_unix.go +++ b/client/lib/fifo/fifo_unix.go @@ -11,18 +11,18 @@ import ( ) // CreateAndRead creates a fifo at the given path, and returns an open function for reading. -// The fifo must not exist already, or that it's already a fifo file +// For compatibility with windows, the fifo must not exist already. // // It returns a reader open function that may block until a writer opens // so it's advised to run it in a goroutine different from reader goroutine func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { // create first - if err := mkfifo(path, 0600); err != nil && !os.IsExist(err) { + if err := mkfifo(path, 0600); err != nil { return nil, fmt.Errorf("error creating fifo %v: %v", path, err) } return func() (io.ReadCloser, error) { - return os.OpenFile(path, unix.O_RDONLY, os.ModeNamedPipe) + return OpenReader(path) }, nil } From aff554deec35470ac33c6168960938932de6d329 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Fri, 28 Jun 2019 13:49:07 +0200 Subject: [PATCH 15/32] appveyor: Run logmon tests --- appveyor.yml | 1 + client/lib/fifo/fifo_windows.go | 5 ++-- client/logmon/logmon_test.go | 50 ++++++++++++++++++++++----------- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 576c6f80c78..18906d917be 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -46,6 +46,7 @@ test_script: gotestsum --junitfile results.xml github.com/hashicorp/nomad/drivers/docker github.com/hashicorp/nomad/client/lib/fifo + github.com/hashicorp/nomad/client/logmon # on_finish: # - ps: | # Push-AppveyorArtifact (Resolve-Path .\results.xml) diff --git a/client/lib/fifo/fifo_windows.go b/client/lib/fifo/fifo_windows.go index 4feaa63da1d..9963570bb78 100644 --- a/client/lib/fifo/fifo_windows.go +++ b/client/lib/fifo/fifo_windows.go @@ -1,6 +1,7 @@ package fifo import ( + "fmt" "io" "net" "os" @@ -75,7 +76,7 @@ func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { OutputBufferSize: PipeBufferSize, }) if err != nil { - return nil, err + return nil, fmt.Errorf("failed to create fifo: %v", err) } return func() (io.ReadCloser, error) { @@ -88,7 +89,7 @@ func CreateAndRead(path string) (func() (io.ReadCloser, error), error) { func OpenReader(path string) (io.ReadCloser, error) { l, err := winio.ListenOnlyPipe(path, nil) if err != nil { - return nil, err + return nil, fmt.Errorf("failed to open fifo listener: %v", err) } return &winFIFO{listener: l}, nil diff --git a/client/logmon/logmon_test.go b/client/logmon/logmon_test.go index 609b3db6eaf..c0de5fb4748 100644 --- a/client/logmon/logmon_test.go +++ b/client/logmon/logmon_test.go @@ -6,6 +6,7 @@ import ( "io/ioutil" "os" "path/filepath" + "runtime" "testing" "github.com/hashicorp/nomad/client/lib/fifo" @@ -16,13 +17,23 @@ import ( func TestLogmon_Start_rotate(t *testing.T) { require := require.New(t) + + stdoutLog := "stdout" + stderrLog := "stderr" + + var stdoutFifoPath, stderrFifoPath string + dir, err := ioutil.TempDir("", "nomadtest") require.NoError(err) defer os.RemoveAll(dir) - stdoutLog := "stdout" - stdoutFifoPath := filepath.Join(dir, "stdout.fifo") - stderrLog := "stderr" - stderrFifoPath := filepath.Join(dir, "stderr.fifo") + + if runtime.GOOS == "windows" { + stdoutFifoPath = "//./pipe/test-rotate.stdout" + stderrFifoPath = "//./pipe/test-rotate.stderr" + } else { + stdoutFifoPath = filepath.Join(dir, "stdout.fifo") + stderrFifoPath = filepath.Join(dir, "stderr.fifo") + } cfg := &LogConfig{ LogDir: dir, @@ -69,13 +80,23 @@ func TestLogmon_Start_rotate(t *testing.T) { // asserts that calling Start twice restarts the log rotator func TestLogmon_Start_restart(t *testing.T) { require := require.New(t) + + stdoutLog := "stdout" + stderrLog := "stderr" + + var stdoutFifoPath, stderrFifoPath string + dir, err := ioutil.TempDir("", "nomadtest") require.NoError(err) defer os.RemoveAll(dir) - stdoutLog := "stdout" - stdoutFifoPath := filepath.Join(dir, "stdout.fifo") - stderrLog := "stderr" - stderrFifoPath := filepath.Join(dir, "stderr.fifo") + + if runtime.GOOS == "windows" { + stdoutFifoPath = "//./pipe/test-restart.stdout" + stderrFifoPath = "//./pipe/test-restart.stderr" + } else { + stdoutFifoPath = filepath.Join(dir, "stdout.fifo") + stderrFifoPath = filepath.Join(dir, "stderr.fifo") + } cfg := &LogConfig{ LogDir: dir, @@ -122,6 +143,11 @@ func TestLogmon_Start_restart(t *testing.T) { require.NoError(err) }) + require.NoError(lm.Stop()) + + // Start logmon again and assert that it appended to the file + require.NoError(lm.Start(cfg)) + stdout, err = fifo.OpenWriter(stdoutFifoPath) require.NoError(err) stderr, err = fifo.OpenWriter(stderrFifoPath) @@ -140,14 +166,6 @@ func TestLogmon_Start_restart(t *testing.T) { require.NoError(err) }) - // Start logmon again and assert that it appended to the file - require.NoError(lm.Start(cfg)) - - stdout, err = fifo.OpenWriter(stdoutFifoPath) - require.NoError(err) - stderr, err = fifo.OpenWriter(stderrFifoPath) - require.NoError(err) - _, err = stdout.Write([]byte("st\n")) require.NoError(err) testutil.WaitForResult(func() (bool, error) { From f7f41c42e6ae83bf60b07dad55bf5bc3d180c563 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Fri, 28 Jun 2019 20:31:28 -0500 Subject: [PATCH 16/32] Infer content type in alloc fs stat endpoint --- api/fs.go | 11 +++++---- client/allocdir/alloc_dir.go | 39 ++++++++++++++++++++++++++---- client/allocdir/alloc_dir_test.go | 15 ++++++++++++ client/allocdir/input/image.png | Bin 0 -> 167491 bytes client/allocdir/input/test.json | 3 +++ client/fs_endpoint_test.go | 2 +- client/structs/structs.go | 11 +++++---- command/alloc_fs.go | 6 ++--- 8 files changed, 68 insertions(+), 19 deletions(-) create mode 100644 client/allocdir/input/image.png create mode 100644 client/allocdir/input/test.json diff --git a/api/fs.go b/api/fs.go index 107e553030c..b769236f76f 100644 --- a/api/fs.go +++ b/api/fs.go @@ -20,11 +20,12 @@ const ( // AllocFileInfo holds information about a file inside the AllocDir type AllocFileInfo struct { - Name string - IsDir bool - Size int64 - FileMode string - ModTime time.Time + Name string + IsDir bool + Size int64 + FileMode string + ModTime time.Time + ContentType string } // StreamFrame is used to frame data of a file when streaming diff --git a/client/allocdir/alloc_dir.go b/client/allocdir/alloc_dir.go index 8c3b2ce64ff..08c97947124 100644 --- a/client/allocdir/alloc_dir.go +++ b/client/allocdir/alloc_dir.go @@ -11,6 +11,9 @@ import ( "sync" "time" + "net/http" + "strings" + hclog "github.com/hashicorp/go-hclog" multierror "github.com/hashicorp/go-multierror" cstructs "github.com/hashicorp/nomad/client/structs" @@ -392,15 +395,41 @@ func (d *AllocDir) Stat(path string) (*cstructs.AllocFileInfo, error) { return nil, err } + contentType := detectContentType(info, p) + return &cstructs.AllocFileInfo{ - Size: info.Size(), - Name: info.Name(), - IsDir: info.IsDir(), - FileMode: info.Mode().String(), - ModTime: info.ModTime(), + Size: info.Size(), + Name: info.Name(), + IsDir: info.IsDir(), + FileMode: info.Mode().String(), + ModTime: info.ModTime(), + ContentType: contentType, }, nil } +// detectContentType tries to infer the file type by reading the first +// 512 bytes of the file. Json file extensions are special cased. +func detectContentType(fileInfo os.FileInfo, path string) string { + contentType := "unknown" + if !fileInfo.IsDir() { + f, err := os.Open(path) + // Best effort content type detection + // We ignore errors because this is optional information + if err == nil { + fileBytes := make([]byte, 512) + _, err := f.Read(fileBytes) + if err == nil { + contentType = http.DetectContentType(fileBytes) + } + } + } + // Special case json files + if strings.HasSuffix(path, ".json") { + contentType = "application/json" + } + return contentType +} + // ReadAt returns a reader for a file at the path relative to the alloc dir func (d *AllocDir) ReadAt(path string, offset int64) (io.ReadCloser, error) { if escapes, err := structs.PathEscapesAllocDir("", path); err != nil { diff --git a/client/allocdir/alloc_dir_test.go b/client/allocdir/alloc_dir_test.go index 6c39950b86f..e7103cc582a 100644 --- a/client/allocdir/alloc_dir_test.go +++ b/client/allocdir/alloc_dir_test.go @@ -472,3 +472,18 @@ func TestPathFuncs(t *testing.T) { t.Errorf("%q is not empty. empty=%v error=%v", dir, empty, err) } } + +func TestAllocDir_DetectContentType(t *testing.T) { + require := require.New(t) + imgPath := "input/image.png" + fileInfo, err := os.Stat(imgPath) + require.Nil(err) + res := detectContentType(fileInfo, imgPath) + require.Equal("image/png", res) + + jsonPath := "input/test.json" + fileInfo, err = os.Stat(jsonPath) + require.Nil(err) + res = detectContentType(fileInfo, jsonPath) + require.Equal("application/json", res) +} diff --git a/client/allocdir/input/image.png b/client/allocdir/input/image.png new file mode 100644 index 0000000000000000000000000000000000000000..6c78a11e42d1cc83729ebc54fd9b813339f123d7 GIT binary patch literal 167491 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%0Adl~Py=>0@`GayeKXK~!_Aa3xYnAyW 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

-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 Date: Sat, 29 Jun 2019 04:17:35 -0500 Subject: [PATCH 17/32] client: defensive against getting stale alloc updates When fetching node alloc assignments, be defensive against a stale read before killing local nodes allocs. The bug is when both client and servers are restarting and the client requests the node allocation for the node, it might get stale data as server hasn't finished applying all the restored raft transaction to store. Consequently, client would kill and destroy the alloc locally, just to fetch it again moments later when server store is up to date. The bug can be reproduced quite reliably with single node setup (configured with persistence). I suspect it's too edge-casey to occur in production cluster with multiple servers, but we may need to examine leader failover scenarios more closely. In this commit, we only remove and destroy allocs if the removal index is more recent than the alloc index. This seems like a cheap resiliency fix we already use for detecting alloc updates. A more proper fix would be to ensure that a nomad server only serves RPC calls when state store is fully restored or up to date in leadership transition cases. --- client/client.go | 4 ++++ client/util.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/client/client.go b/client/client.go index f16a29562ab..f99c2f330ac 100644 --- a/client/client.go +++ b/client/client.go @@ -1767,6 +1767,9 @@ func (c *Client) allocSync() { // allocUpdates holds the results of receiving updated allocations from the // servers. type allocUpdates struct { + // index is index of server store snapshot used for fetching alloc status + index uint64 + // pulled is the set of allocations that were downloaded from the servers. pulled map[string]*structs.Allocation @@ -1944,6 +1947,7 @@ OUTER: filtered: filtered, pulled: pulledAllocs, migrateTokens: resp.MigrateTokens, + index: resp.Index, } select { diff --git a/client/util.go b/client/util.go index af3bd75400b..b8690f647c6 100644 --- a/client/util.go +++ b/client/util.go @@ -33,7 +33,7 @@ func diffAllocs(existing map[string]uint64, allocs *allocUpdates) *diffResult { _, filtered := allocs.filtered[existID] // If not updated or filtered, removed - if !pulled && !filtered { + if !pulled && !filtered && allocs.index > existIndex { result.removed = append(result.removed, existID) continue } From 2e5aba918864b9fb50fbac885971d0388f246ab7 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Fri, 28 Jun 2019 16:35:20 +0200 Subject: [PATCH 18/32] logmon: Add windows compatibility test --- client/logmon/logmon_test.go | 98 +++++++++++++++++++++++++++++++++++- 1 file changed, 96 insertions(+), 2 deletions(-) diff --git a/client/logmon/logmon_test.go b/client/logmon/logmon_test.go index c0de5fb4748..d3105f7b362 100644 --- a/client/logmon/logmon_test.go +++ b/client/logmon/logmon_test.go @@ -77,8 +77,13 @@ func TestLogmon_Start_rotate(t *testing.T) { require.NoError(lm.Stop()) } -// asserts that calling Start twice restarts the log rotator -func TestLogmon_Start_restart(t *testing.T) { +// asserts that calling Start twice restarts the log rotator and that any logs +// published while the listener was unavailable are recieved. +func TestLogmon_Start_restart_flusheslogs(t *testing.T) { + if runtime.GOOS == "windows" { + t.Skip("windows does not support pushing data to a pipe with no servers") + } + require := require.New(t) stdoutLog := "stdout" @@ -180,3 +185,92 @@ func TestLogmon_Start_restart(t *testing.T) { require.NoError(err) }) } + +// asserts that calling Start twice restarts the log rotator +func TestLogmon_Start_restart(t *testing.T) { + require := require.New(t) + + stdoutLog := "stdout" + stderrLog := "stderr" + + var stdoutFifoPath, stderrFifoPath string + + dir, err := ioutil.TempDir("", "nomadtest") + require.NoError(err) + defer os.RemoveAll(dir) + + if runtime.GOOS == "windows" { + stdoutFifoPath = "//./pipe/test-restart.stdout" + stderrFifoPath = "//./pipe/test-restart.stderr" + } else { + stdoutFifoPath = filepath.Join(dir, "stdout.fifo") + stderrFifoPath = filepath.Join(dir, "stderr.fifo") + } + + cfg := &LogConfig{ + LogDir: dir, + StdoutLogFile: stdoutLog, + StdoutFifo: stdoutFifoPath, + StderrLogFile: stderrLog, + StderrFifo: stderrFifoPath, + MaxFiles: 2, + MaxFileSizeMB: 1, + } + + lm := NewLogMon(testlog.HCLogger(t)) + impl, ok := lm.(*logmonImpl) + require.True(ok) + require.NoError(lm.Start(cfg)) + + stdout, err := fifo.OpenWriter(stdoutFifoPath) + require.NoError(err) + stderr, err := fifo.OpenWriter(stderrFifoPath) + require.NoError(err) + + // Write a string and assert it was written to the file + _, err = stdout.Write([]byte("test\n")) + require.NoError(err) + + testutil.WaitForResult(func() (bool, error) { + raw, err := ioutil.ReadFile(filepath.Join(dir, "stdout.0")) + if err != nil { + return false, err + } + return "test\n" == string(raw), fmt.Errorf("unexpected stdout %q", string(raw)) + }, func(err error) { + require.NoError(err) + }) + require.True(impl.tl.IsRunning()) + + // Close stdout and assert that logmon no longer writes to the file + require.NoError(stdout.Close()) + require.NoError(stderr.Close()) + + testutil.WaitForResult(func() (bool, error) { + return !impl.tl.IsRunning(), fmt.Errorf("logmon is still running") + }, func(err error) { + require.NoError(err) + }) + + // Start logmon again and assert that it can recieve logs again + require.NoError(lm.Start(cfg)) + + stdout, err = fifo.OpenWriter(stdoutFifoPath) + require.NoError(err) + stderr, err = fifo.OpenWriter(stderrFifoPath) + require.NoError(err) + + _, err = stdout.Write([]byte("test\n")) + require.NoError(err) + testutil.WaitForResult(func() (bool, error) { + raw, err := ioutil.ReadFile(filepath.Join(dir, "stdout.0")) + if err != nil { + return false, err + } + + expected := "test\ntest\n" == string(raw) + return expected, fmt.Errorf("unexpected stdout %q", string(raw)) + }, func(err error) { + require.NoError(err) + }) +} From 8148466da63e0724cf54174841ee3b6a2690a4a0 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Fri, 28 Jun 2019 16:27:10 +0200 Subject: [PATCH 19/32] fifo: Close connections and cleanup lock handling --- client/lib/fifo/fifo_windows.go | 10 ++++++-- client/logmon/logmon_test.go | 41 +++++++++++++-------------------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/client/lib/fifo/fifo_windows.go b/client/lib/fifo/fifo_windows.go index 9963570bb78..08396c50acb 100644 --- a/client/lib/fifo/fifo_windows.go +++ b/client/lib/fifo/fifo_windows.go @@ -23,7 +23,6 @@ type winFIFO struct { func (f *winFIFO) Read(p []byte) (n int, err error) { f.connLock.Lock() - defer f.connLock.Unlock() if f.conn == nil { c, err := f.listener.Accept() if err != nil { @@ -32,6 +31,7 @@ func (f *winFIFO) Read(p []byte) (n int, err error) { f.conn = c } + f.connLock.Unlock() // If the connection is closed then we need to close the listener // to emulate unix fifo behavior @@ -44,7 +44,6 @@ func (f *winFIFO) Read(p []byte) (n int, err error) { func (f *winFIFO) Write(p []byte) (n int, err error) { f.connLock.Lock() - defer f.connLock.Unlock() if f.conn == nil { c, err := f.listener.Accept() if err != nil { @@ -53,11 +52,13 @@ func (f *winFIFO) Write(p []byte) (n int, err error) { f.conn = c } + f.connLock.Unlock() // If the connection is closed then we need to close the listener // to emulate unix fifo behavior n, err = f.conn.Write(p) if err == io.EOF { + f.conn.Close() f.listener.Close() } return n, err @@ -65,6 +66,11 @@ func (f *winFIFO) Write(p []byte) (n int, err error) { } func (f *winFIFO) Close() error { + f.connLock.Lock() + if f.conn != nil { + f.conn.Close() + } + f.connLock.Unlock() return f.listener.Close() } diff --git a/client/logmon/logmon_test.go b/client/logmon/logmon_test.go index d3105f7b362..82b71d45105 100644 --- a/client/logmon/logmon_test.go +++ b/client/logmon/logmon_test.go @@ -17,10 +17,6 @@ import ( func TestLogmon_Start_rotate(t *testing.T) { require := require.New(t) - - stdoutLog := "stdout" - stderrLog := "stderr" - var stdoutFifoPath, stderrFifoPath string dir, err := ioutil.TempDir("", "nomadtest") @@ -37,9 +33,9 @@ func TestLogmon_Start_rotate(t *testing.T) { cfg := &LogConfig{ LogDir: dir, - StdoutLogFile: stdoutLog, + StdoutLogFile: "stdout", StdoutFifo: stdoutFifoPath, - StderrLogFile: stderrLog, + StderrLogFile: "stderr", StderrFifo: stderrFifoPath, MaxFiles: 2, MaxFileSizeMB: 1, @@ -78,17 +74,13 @@ func TestLogmon_Start_rotate(t *testing.T) { } // asserts that calling Start twice restarts the log rotator and that any logs -// published while the listener was unavailable are recieved. +// published while the listener was unavailable are received. func TestLogmon_Start_restart_flusheslogs(t *testing.T) { if runtime.GOOS == "windows" { t.Skip("windows does not support pushing data to a pipe with no servers") } require := require.New(t) - - stdoutLog := "stdout" - stderrLog := "stderr" - var stdoutFifoPath, stderrFifoPath string dir, err := ioutil.TempDir("", "nomadtest") @@ -105,9 +97,9 @@ func TestLogmon_Start_restart_flusheslogs(t *testing.T) { cfg := &LogConfig{ LogDir: dir, - StdoutLogFile: stdoutLog, + StdoutLogFile: "stdout", StdoutFifo: stdoutFifoPath, - StderrLogFile: stderrLog, + StderrLogFile: "stderr", StderrFifo: stderrFifoPath, MaxFiles: 2, MaxFileSizeMB: 1, @@ -148,11 +140,6 @@ func TestLogmon_Start_restart_flusheslogs(t *testing.T) { require.NoError(err) }) - require.NoError(lm.Stop()) - - // Start logmon again and assert that it appended to the file - require.NoError(lm.Start(cfg)) - stdout, err = fifo.OpenWriter(stdoutFifoPath) require.NoError(err) stderr, err = fifo.OpenWriter(stderrFifoPath) @@ -171,6 +158,14 @@ func TestLogmon_Start_restart_flusheslogs(t *testing.T) { require.NoError(err) }) + // Start logmon again and assert that it appended to the file + require.NoError(lm.Start(cfg)) + + stdout, err = fifo.OpenWriter(stdoutFifoPath) + require.NoError(err) + stderr, err = fifo.OpenWriter(stderrFifoPath) + require.NoError(err) + _, err = stdout.Write([]byte("st\n")) require.NoError(err) testutil.WaitForResult(func() (bool, error) { @@ -189,10 +184,6 @@ func TestLogmon_Start_restart_flusheslogs(t *testing.T) { // asserts that calling Start twice restarts the log rotator func TestLogmon_Start_restart(t *testing.T) { require := require.New(t) - - stdoutLog := "stdout" - stderrLog := "stderr" - var stdoutFifoPath, stderrFifoPath string dir, err := ioutil.TempDir("", "nomadtest") @@ -209,9 +200,9 @@ func TestLogmon_Start_restart(t *testing.T) { cfg := &LogConfig{ LogDir: dir, - StdoutLogFile: stdoutLog, + StdoutLogFile: "stdout", StdoutFifo: stdoutFifoPath, - StderrLogFile: stderrLog, + StderrLogFile: "stderr", StderrFifo: stderrFifoPath, MaxFiles: 2, MaxFileSizeMB: 1, @@ -252,7 +243,7 @@ func TestLogmon_Start_restart(t *testing.T) { require.NoError(err) }) - // Start logmon again and assert that it can recieve logs again + // Start logmon again and assert that it can receive logs again require.NoError(lm.Start(cfg)) stdout, err = fifo.OpenWriter(stdoutFifoPath) From 5262102a94340205f532c10849145b8963b5b68b Mon Sep 17 00:00:00 2001 From: Yishan Lin Date: Mon, 1 Jul 2019 10:39:35 -0700 Subject: [PATCH 20/32] Updated with suggestions. --- website/source/docs/enterprise/index.html.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/source/docs/enterprise/index.html.md b/website/source/docs/enterprise/index.html.md index 8ffdb7b101d..e6684cd67e2 100644 --- a/website/source/docs/enterprise/index.html.md +++ b/website/source/docs/enterprise/index.html.md @@ -14,7 +14,7 @@ Nomad Enterprise adds collaboration, operational, and governance capabilities to Please navigate the sub-sections for more information about each package and its features in detail. ## Nomad Enterprise Platform -Nomad Enterprise Platform enables operators to easily upgrade Nomad as well as enhanced performance and availability through Advanced Autopilot features such as Automated Upgrades, Enhanced Read Scalability, and Redundancy Zones. +Nomad Enterprise Platform enables operators to easily upgrade Nomad as well as enhances performance and availability through Advanced Autopilot features such as Automated Upgrades, Enhanced Read Scalability, and Redundancy Zones. ### Automated Upgrades Automated Upgrades allows operators to deploy a complete cluster of new servers and then simply wait for the upgrade to complete. As the new servers join the cluster, server logic checks the version of each Nomad server node. If the version is higher than the version on the current set of voters, it will avoid promoting the new servers to voters until the number of new servers matches the number of existing servers at the previous version. Once the numbers match, Nomad will begin to promote new servers and demote old ones. @@ -27,7 +27,7 @@ This feature enables an operator to introduce non-voting server nodes to a Nomad See the [Autopilot - Read Scalability](https://www.nomadproject.io/guides/operations/autopilot.html#server-read-and-scheduling-scaling) documentation for a thorough overview. ### Redundancy Zones -Redundancy Zones enables an operator to deploy a non-voting server as a hot standby server on a per availability zone basis. For example, in an environment with three availability zones one can run one voter and one non-voter in each availability zone, for a total of six servers. If an availability zone is completely lost, only one voter will be lost, so the cluster remains available. If a voter is lost in an availability zone, Nomad will promote the non-voter to voter automatically, putting the hot standby server into service quickly. +Redundancy Zones enables an operator to deploy a non-voting server as a hot standby server on a per availability zone basis. For example, in an environment with three availability zones an operator can run one voter and one non-voter in each availability zone, for a total of six servers. If an availability zone is completely lost, only one voter will be lost, so the cluster remains available. If a voter is lost in an availability zone, Nomad will promote the non-voter to a voter automatically, putting the hot standby server into service quickly. See the [Autopilot - Redundancy Zones](https://www.nomadproject.io/guides/operations/autopilot.html#redundancy-zones) documentation for a thorough overview. @@ -37,7 +37,7 @@ Governance & Policy features are part of an add-on module that enables an organi ### Namespaces Namespaces enable multiple teams to safely use a shared multi-region Nomad environment and reduce cluster fleet size. In Nomad Enterprise, a shared cluster can be partitioned into multiple namespaces which allow jobs and their associated objects to be isolated from each other and other users of the cluster. -Namespaces enhance the usability of a shared cluster by isolating teams from the jobs of others, provide fine grain access control to jobs when coupled with ACLs, and can prevent bad actors from negatively impacting the whole cluster. +Namespaces enhance the usability of a shared cluster by isolating teams from the jobs of others, by providing fine grain access control to jobs when coupled with ACLs, and by preventing bad actors from negatively impacting the whole cluster. See the [Namespaces Guide](https://www.nomadproject.io/docs/enterprise/namespaces/index.html) for a thorough overview. From 4fa6688f73143c0fcbc24890c59cdda981a7166b Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Mon, 1 Jul 2019 15:12:01 -0500 Subject: [PATCH 21/32] Undo removal of node drain compat changes Decided to remove that in 0.10 --- command/agent/node_endpoint.go | 28 +++++++++++++- command/agent/node_endpoint_test.go | 57 +++++++++++++++++++++++++++++ nomad/fsm_test.go | 37 +++++++++++++++++++ nomad/node_endpoint_test.go | 4 +- nomad/state/state_store_test.go | 2 + 5 files changed, 124 insertions(+), 4 deletions(-) diff --git a/command/agent/node_endpoint.go b/command/agent/node_endpoint.go index 4c30a270886..6b6f99750db 100644 --- a/command/agent/node_endpoint.go +++ b/command/agent/node_endpoint.go @@ -2,7 +2,9 @@ package agent import ( "net/http" + "strconv" "strings" + "time" "github.com/hashicorp/nomad/api" "github.com/hashicorp/nomad/nomad/structs" @@ -106,8 +108,30 @@ func (s *HTTPServer) nodeToggleDrain(resp http.ResponseWriter, req *http.Request var drainRequest api.NodeUpdateDrainRequest - if err := decodeBody(req, &drainRequest); err != nil { - return nil, CodedError(400, err.Error()) + // COMPAT: Remove in 0.10. Allow the old style enable query param. + // Get the enable parameter + enableRaw := req.URL.Query().Get("enable") + var enable bool + if enableRaw != "" { + var err error + enable, err = strconv.ParseBool(enableRaw) + if err != nil { + return nil, CodedError(400, "invalid enable value") + } + + // Use the force drain to have it keep the same behavior as old clients. + if enable { + drainRequest.DrainSpec = &api.DrainSpec{ + Deadline: -1 * time.Second, + } + } else { + // If drain is disabled on an old client, mark the node as eligible for backwards compatibility + drainRequest.MarkEligible = true + } + } else { + if err := decodeBody(req, &drainRequest); err != nil { + return nil, CodedError(400, err.Error()) + } } args := structs.NodeUpdateDrainRequest{ diff --git a/command/agent/node_endpoint_test.go b/command/agent/node_endpoint_test.go index 8bc4dc95e3c..978c266f406 100644 --- a/command/agent/node_endpoint_test.go +++ b/command/agent/node_endpoint_test.go @@ -280,6 +280,7 @@ func TestHTTP_NodeDrain(t *testing.T) { state := s.Agent.server.State() out, err := state.NodeByID(nil, node.ID) require.Nil(err) + require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(10*time.Second, out.DrainStrategy.Deadline) @@ -296,10 +297,66 @@ func TestHTTP_NodeDrain(t *testing.T) { out, err = state.NodeByID(nil, node.ID) require.Nil(err) + require.False(out.Drain) require.Nil(out.DrainStrategy) }) } +// Tests backwards compatibility code to support pre 0.8 clients +func TestHTTP_NodeDrain_Compat(t *testing.T) { + t.Parallel() + require := require.New(t) + httpTest(t, nil, func(s *TestAgent) { + // Create the node + node := mock.Node() + args := structs.NodeRegisterRequest{ + Node: node, + WriteRequest: structs.WriteRequest{Region: "global"}, + } + var resp structs.NodeUpdateResponse + require.Nil(s.Agent.RPC("Node.Register", &args, &resp)) + + // Make the HTTP request + req, err := http.NewRequest("POST", "/v1/node/"+node.ID+"/drain?enable=true", nil) + require.Nil(err) + respW := httptest.NewRecorder() + + // Make the request + obj, err := s.Server.NodeSpecificRequest(respW, req) + require.Nil(err) + + // Check for the index + require.NotZero(respW.HeaderMap.Get("X-Nomad-Index")) + + // Check the response + _, ok := obj.(structs.NodeDrainUpdateResponse) + require.True(ok) + + // Check that the node has been updated + state := s.Agent.server.State() + out, err := state.NodeByID(nil, node.ID) + require.Nil(err) + require.True(out.Drain) + require.NotNil(out.DrainStrategy) + require.Equal(-1*time.Second, out.DrainStrategy.Deadline) + + // Make the HTTP request to unset drain + req, err = http.NewRequest("POST", "/v1/node/"+node.ID+"/drain?enable=false", nil) + require.Nil(err) + respW = httptest.NewRecorder() + + // Make the request + _, err = s.Server.NodeSpecificRequest(respW, req) + require.Nil(err) + + out, err = state.NodeByID(nil, node.ID) + require.Nil(err) + require.False(out.Drain) + require.Nil(out.DrainStrategy) + require.Equal(structs.NodeSchedulingEligible, out.SchedulingEligibility) + }) +} + func TestHTTP_NodeEligible(t *testing.T) { t.Parallel() require := require.New(t) diff --git a/nomad/fsm_test.go b/nomad/fsm_test.go index c7873e9124e..ef79d146198 100644 --- a/nomad/fsm_test.go +++ b/nomad/fsm_test.go @@ -350,6 +350,7 @@ func TestFSM_BatchUpdateNodeDrain(t *testing.T) { ws := memdb.NewWatchSet() node, err = fsm.State().NodeByID(ws, req.Node.ID) require.Nil(err) + require.True(node.Drain) require.Equal(node.DrainStrategy, strategy) require.Len(node.Events, 2) } @@ -393,10 +394,46 @@ func TestFSM_UpdateNodeDrain(t *testing.T) { ws := memdb.NewWatchSet() node, err = fsm.State().NodeByID(ws, req.Node.ID) require.Nil(err) + require.True(node.Drain) require.Equal(node.DrainStrategy, strategy) require.Len(node.Events, 2) } +func TestFSM_UpdateNodeDrain_Pre08_Compatibility(t *testing.T) { + t.Parallel() + require := require.New(t) + fsm := testFSM(t) + + // Force a node into the state store without eligiblity + node := mock.Node() + node.SchedulingEligibility = "" + require.Nil(fsm.State().UpsertNode(1, node)) + + // Do an old style drain + req := structs.NodeUpdateDrainRequest{ + NodeID: node.ID, + Drain: true, + } + buf, err := structs.Encode(structs.NodeUpdateDrainRequestType, req) + require.Nil(err) + + resp := fsm.Apply(makeLog(buf)) + require.Nil(resp) + + // Verify we have upgraded to a force drain + ws := memdb.NewWatchSet() + node, err = fsm.State().NodeByID(ws, req.NodeID) + require.Nil(err) + require.True(node.Drain) + + expected := &structs.DrainStrategy{ + DrainSpec: structs.DrainSpec{ + Deadline: -1 * time.Second, + }, + } + require.Equal(expected, node.DrainStrategy) +} + func TestFSM_UpdateNodeEligibility(t *testing.T) { t.Parallel() require := require.New(t) diff --git a/nomad/node_endpoint_test.go b/nomad/node_endpoint_test.go index d7d5844341e..6b7b90e2f40 100644 --- a/nomad/node_endpoint_test.go +++ b/nomad/node_endpoint_test.go @@ -891,10 +891,10 @@ func TestClientEndpoint_UpdateDrain(t *testing.T) { // Check for the node in the FSM state := s1.fsm.State() - ws := memdb.NewWatchSet() out, err := state.NodeByID(ws, node.ID) require.Nil(err) + require.True(out.Drain) require.Equal(strategy.Deadline, out.DrainStrategy.Deadline) require.Len(out.Events, 2) require.Equal(NodeDrainEventDrainSet, out.Events[1].Message) @@ -2682,7 +2682,7 @@ func TestClientEndpoint_ListNodes_Blocking(t *testing.T) { if resp2.Index != 3 { t.Fatalf("Bad index: %d %d", resp2.Index, 3) } - if len(resp2.Nodes) != 1 { + if len(resp2.Nodes) != 1 || !resp2.Nodes[0].Drain { t.Fatalf("bad: %#v", resp2.Nodes) } diff --git a/nomad/state/state_store_test.go b/nomad/state/state_store_test.go index 7e3539f3ec1..d21e4bbdefb 100644 --- a/nomad/state/state_store_test.go +++ b/nomad/state/state_store_test.go @@ -935,6 +935,7 @@ func TestStateStore_BatchUpdateNodeDrain(t *testing.T) { for _, id := range []string{n1.ID, n2.ID} { out, err := state.NodeByID(ws, id) require.Nil(err) + require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(out.DrainStrategy, expectedDrain) require.Len(out.Events, 2) @@ -977,6 +978,7 @@ func TestStateStore_UpdateNodeDrain_Node(t *testing.T) { ws = memdb.NewWatchSet() out, err := state.NodeByID(ws, node.ID) require.Nil(err) + require.True(out.Drain) require.NotNil(out.DrainStrategy) require.Equal(out.DrainStrategy, expectedDrain) require.Len(out.Events, 2) From de8ae8bcd21784f4de8045d01b703e3318da550a Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Mon, 1 Jul 2019 16:24:48 -0500 Subject: [PATCH 22/32] Improve test cases for detecting content type --- client/allocdir/alloc_dir.go | 2 +- client/allocdir/alloc_dir_test.go | 31 +++++++++++++++++++++--------- client/allocdir/input/happy.gif | Bin 0 -> 486004 bytes client/allocdir/input/nomad.jpg | Bin 0 -> 74033 bytes client/allocdir/input/test.go | 9 +++++++++ client/allocdir/input/test.txt | 1 + 6 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 client/allocdir/input/happy.gif create mode 100644 client/allocdir/input/nomad.jpg create mode 100644 client/allocdir/input/test.go create mode 100644 client/allocdir/input/test.txt diff --git a/client/allocdir/alloc_dir.go b/client/allocdir/alloc_dir.go index 08c97947124..ac57def6583 100644 --- a/client/allocdir/alloc_dir.go +++ b/client/allocdir/alloc_dir.go @@ -410,7 +410,7 @@ func (d *AllocDir) Stat(path string) (*cstructs.AllocFileInfo, error) { // detectContentType tries to infer the file type by reading the first // 512 bytes of the file. Json file extensions are special cased. func detectContentType(fileInfo os.FileInfo, path string) string { - contentType := "unknown" + contentType := "application/octet-stream" if !fileInfo.IsDir() { f, err := os.Open(path) // Best effort content type detection diff --git a/client/allocdir/alloc_dir_test.go b/client/allocdir/alloc_dir_test.go index e7103cc582a..451ae32e6cc 100644 --- a/client/allocdir/alloc_dir_test.go +++ b/client/allocdir/alloc_dir_test.go @@ -475,15 +475,28 @@ func TestPathFuncs(t *testing.T) { func TestAllocDir_DetectContentType(t *testing.T) { require := require.New(t) - imgPath := "input/image.png" - fileInfo, err := os.Stat(imgPath) + inputPath := "input/" + var testFiles []string + err := filepath.Walk(inputPath, func(path string, info os.FileInfo, err error) error { + if !info.IsDir() { + testFiles = append(testFiles, path) + } + return err + }) require.Nil(err) - res := detectContentType(fileInfo, imgPath) - require.Equal("image/png", res) - jsonPath := "input/test.json" - fileInfo, err = os.Stat(jsonPath) - require.Nil(err) - res = detectContentType(fileInfo, jsonPath) - require.Equal("application/json", res) + expectedEncodings := map[string]string{ + "input/happy.gif": "image/gif", + "input/image.png": "image/png", + "input/nomad.jpg": "image/jpeg", + "input/test.go": "application/octet-stream", + "input/test.json": "application/json", + "input/test.txt": "text/plain; charset=utf-8", + } + for _, file := range testFiles { + fileInfo, err := os.Stat(file) + require.Nil(err) + res := detectContentType(fileInfo, file) + require.Equal(expectedEncodings[file], res) + } } diff --git a/client/allocdir/input/happy.gif b/client/allocdir/input/happy.gif new file mode 100644 index 0000000000000000000000000000000000000000..13aa264ce5b5b1f8eb8eac078a3efcea407e1152 GIT binary patch literal 486004 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 nlMlX+LeQ+(yi;Pfir(nH8!iG6yDeZ#S@BqFoQo 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

+k7&;Ug39I@a&vS*fI~RN6IuN;fT2YLx}adL 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�j}UWw`gi~1(>w|ldrZ+q|}!~ofc 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

j`Z{@p;(uV#c&ALl?p!q4LE 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%0D(QGK9tu;1wn8eEO83b{&!={&c%f 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 z%0A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 literal 0 HcmV?d00001 diff --git a/client/allocdir/input/nomad.jpg b/client/allocdir/input/nomad.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f07871e2ec9f4ae3ffa195b31019747178b33ba3 GIT binary patch literal 74033 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 A8vp Date: Mon, 1 Jul 2019 16:46:05 -0500 Subject: [PATCH 23/32] Missed one revert of backwards compatibility for node drain --- nomad/state/state_store.go | 1 + 1 file changed, 1 insertion(+) diff --git a/nomad/state/state_store.go b/nomad/state/state_store.go index 6f4080d0ae4..9763d6c1231 100644 --- a/nomad/state/state_store.go +++ b/nomad/state/state_store.go @@ -792,6 +792,7 @@ func (s *StateStore) updateNodeDrainImpl(txn *memdb.Txn, index uint64, nodeID st } // Update the drain in the copy + copyNode.Drain = drain != nil // COMPAT: Remove in Nomad 0.10 copyNode.DrainStrategy = drain if drain != nil { copyNode.SchedulingEligibility = structs.NodeSchedulingIneligible From 7fd36580bd0c7a37b1a3ecf5e300423395fe54c0 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Mon, 1 Jul 2019 16:59:37 -0500 Subject: [PATCH 24/32] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 338643196c8..2658c49c129 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ IMPROVEMENTS: * api: use region from job hcl when not provided as query parameter in job registration and plan endpoints [[GH-5664](https://github.com/hashicorp/nomad/pull/5664)] + * api: infer content type of file in alloc filesystem stat endpoint [[GH-5907](https://github.com/hashicorp/nomad/issues/5907)] * metrics: add namespace label as appropriate to metrics [[GH-5847](https://github.com/hashicorp/nomad/issues/5847)] * ui: Moved client status, draining, and eligibility fields into single state column [[GH-5789](https://github.com/hashicorp/nomad/pull/5789)] From 009f186eb7fa4253fd31d50fbde2b75939c4d8e6 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Tue, 2 Jul 2019 14:53:50 +0800 Subject: [PATCH 25/32] address review comments --- client/allocrunner/alloc_runner_unix_test.go | 2 +- client/allocrunner/taskrunner/task_runner.go | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/client/allocrunner/alloc_runner_unix_test.go b/client/allocrunner/alloc_runner_unix_test.go index 92e956a5f45..8c31832e3c4 100644 --- a/client/allocrunner/alloc_runner_unix_test.go +++ b/client/allocrunner/alloc_runner_unix_test.go @@ -132,7 +132,7 @@ func TestAllocRunner_Restore_RunningTerminal(t *testing.T) { require.Equal(t, events[3].Type, structs.TaskTerminated) } -// TestAllocRunner_Restore_Completed asserts that restoring a completed +// TestAllocRunner_Restore_CompletedBatch asserts that restoring a completed // batch alloc doesn't run it again func TestAllocRunner_Restore_CompletedBatch(t *testing.T) { t.Parallel() diff --git a/client/allocrunner/taskrunner/task_runner.go b/client/allocrunner/taskrunner/task_runner.go index c6b695fd364..233a97b116c 100644 --- a/client/allocrunner/taskrunner/task_runner.go +++ b/client/allocrunner/taskrunner/task_runner.go @@ -401,9 +401,11 @@ func (tr *TaskRunner) Run() { // if restoring a dead task, ensure that task is cleared and all post hooks // are called without additional state updates if dead { - // clear driver handle if it was successfully restored on - // already dead task + // do cleanup functions without emitting any additional events/work + // to handle cases where we restored a dead task where client terminated + // after task finished before completing post-run actions. tr.clearDriverHandle() + tr.stateUpdater.TaskStateUpdated() if err := tr.stop(); err != nil { tr.logger.Error("stop failed on terminal task", "error", err) } From 380262613d3a6c4722fbfffb54ade8d94b746029 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Sat, 29 Jun 2019 03:56:40 -0500 Subject: [PATCH 26/32] Fail alloc if alloc runner prestart hooks fail When an alloc runner prestart hook fails, the task runners aren't invoked and they remain in a pending state. This leads to terrible results, some of which are: * Lockup in GC process as reported in https://github.com/hashicorp/nomad/pull/5861 * Lockup in shutdown process as TR.Shutdown() waits for WaitCh to be closed * Alloc not being restarted/rescheduled to another node (as it's still in pending state) * Unexpected restart of alloc on a client restart, potentially days/weeks after alloc expected start time! Here, we treat all tasks to have failed if alloc runner prestart hook fails. This fixes the lockups, and permits the alloc to be rescheduled on another node. While it's desirable to retry alloc runner in such failures, I opted to treat it out of scope. I'm afraid of some subtles about alloc and task runners and their idempotency that's better handled in a follow up PR. This might be one of the root causes for https://github.com/hashicorp/nomad/issues/5840 . --- client/allocrunner/alloc_runner.go | 8 +++ client/allocrunner/alloc_runner_unix_test.go | 76 ++++++++++++++++++++ client/allocrunner/taskrunner/task_runner.go | 22 ++++++ 3 files changed, 106 insertions(+) diff --git a/client/allocrunner/alloc_runner.go b/client/allocrunner/alloc_runner.go index 544f9ba6ffa..170dabe2442 100644 --- a/client/allocrunner/alloc_runner.go +++ b/client/allocrunner/alloc_runner.go @@ -248,10 +248,18 @@ func (ar *allocRunner) Run() { default: } + // When handling (potentially restored) terminal alloc, ensure tasks and post-run hooks are run + // to perform any cleanup that's necessary, potentially not done prior to earlier termination + // Run the prestart hooks if non-terminal if ar.shouldRun() { if err := ar.prerun(); err != nil { ar.logger.Error("prerun failed", "error", err) + + for _, tr := range ar.tasks { + tr.MarkFailedDead(fmt.Sprintf("failed to setup runner: %v", err)) + } + goto POST } } diff --git a/client/allocrunner/alloc_runner_unix_test.go b/client/allocrunner/alloc_runner_unix_test.go index 8c31832e3c4..a438266a495 100644 --- a/client/allocrunner/alloc_runner_unix_test.go +++ b/client/allocrunner/alloc_runner_unix_test.go @@ -215,3 +215,79 @@ func TestAllocRunner_Restore_CompletedBatch(t *testing.T) { events := ar2.AllocState().TaskStates[task.Name].Events require.Equal(t, initialRunEvents, events) } + +// TestAllocRunner_PreStartFailuresLeadToFailed asserts that if an alloc +// prestart hooks failed, then the alloc and subsequent tasks transition +// to failed state +func TestAllocRunner_PreStartFailuresLeadToFailed(t *testing.T) { + t.Parallel() + + alloc := mock.Alloc() + alloc.Job.Type = structs.JobTypeBatch + task := alloc.Job.TaskGroups[0].Tasks[0] + task.Driver = "mock_driver" + task.Config = map[string]interface{}{ + "run_for": "2ms", + } + alloc.Job.TaskGroups[0].RestartPolicy = &structs.RestartPolicy{ + Attempts: 0, + } + + conf, cleanup := testAllocRunnerConfig(t, alloc.Copy()) + defer cleanup() + + // Maintain state for subsequent run + conf.StateDB = state.NewMemDB(conf.Logger) + + // Start and wait for task to be running + ar, err := NewAllocRunner(conf) + require.NoError(t, err) + + ar.runnerHooks = append(ar.runnerHooks, &allocFailingPrestartHook{}) + + go ar.Run() + defer destroy(ar) + + select { + case <-ar.WaitCh(): + case <-time.After(10 * time.Second): + require.Fail(t, "alloc.waitCh wasn't closed") + } + + testutil.WaitForResult(func() (bool, error) { + s := ar.AllocState() + if s.ClientStatus != structs.AllocClientStatusFailed { + return false, fmt.Errorf("expected complete, got %s", s.ClientStatus) + } + return true, nil + }, func(err error) { + require.NoError(t, err) + }) + + // once job finishes, it shouldn't run again + require.False(t, ar.shouldRun()) + initialRunEvents := ar.AllocState().TaskStates[task.Name].Events + require.Len(t, initialRunEvents, 2) + + ls, ts, err := conf.StateDB.GetTaskRunnerState(alloc.ID, task.Name) + require.NoError(t, err) + require.NotNil(t, ls) + require.NotNil(t, ts) + require.Equal(t, structs.TaskStateDead, ts.State) + require.True(t, ts.Failed) + + // TR waitCh must be closed too! + select { + case <-ar.tasks[task.Name].WaitCh(): + case <-time.After(10 * time.Second): + require.Fail(t, "tr.waitCh wasn't closed") + } +} + +type allocFailingPrestartHook struct{} + +func (*allocFailingPrestartHook) Name() string { return "failing_prestart" } + +func (*allocFailingPrestartHook) Prerun() error { + return fmt.Errorf("failing prestart hooks") +} diff --git a/client/allocrunner/taskrunner/task_runner.go b/client/allocrunner/taskrunner/task_runner.go index 233a97b116c..cf99d8c3786 100644 --- a/client/allocrunner/taskrunner/task_runner.go +++ b/client/allocrunner/taskrunner/task_runner.go @@ -388,6 +388,28 @@ func (tr *TaskRunner) initLabels() { } } +// Mark a task as failed and not to run. Aimed to be invoked when alloc runner +// prestart hooks failed. +// Should never be called with Run(). +func (tr *TaskRunner) MarkFailedDead(reason string) { + defer close(tr.waitCh) + + tr.stateLock.Lock() + if err := tr.stateDB.PutTaskRunnerLocalState(tr.allocID, tr.taskName, tr.localState); err != nil { + //TODO Nomad will be unable to restore this task; try to kill + // it now and fail? In general we prefer to leave running + // tasks running even if the agent encounters an error. + tr.logger.Warn("error persisting local failed task state; may be unable to restore after a Nomad restart", + "error", err) + } + tr.stateLock.Unlock() + + event := structs.NewTaskEvent(structs.TaskSetupFailure). + SetDisplayMessage(reason). + SetFailsTask() + tr.UpdateState(structs.TaskStateDead, event) +} + // Run the TaskRunner. Starts the user's task or reattaches to a restored task. // Run closes WaitCh when it exits. Should be started in a goroutine. func (tr *TaskRunner) Run() { From 99802390c19d950f2ba194dda0d6bf2d9158c717 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Tue, 2 Jul 2019 18:37:52 +0800 Subject: [PATCH 27/32] run post-run/post-stop task runner hooks Handle when prestart failed while restoring a task, to prevent accidentally leaking consul/logmon processes. --- client/allocrunner/taskrunner/task_runner.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/allocrunner/taskrunner/task_runner.go b/client/allocrunner/taskrunner/task_runner.go index cf99d8c3786..ac9d7a1c260 100644 --- a/client/allocrunner/taskrunner/task_runner.go +++ b/client/allocrunner/taskrunner/task_runner.go @@ -408,6 +408,11 @@ func (tr *TaskRunner) MarkFailedDead(reason string) { SetDisplayMessage(reason). SetFailsTask() tr.UpdateState(structs.TaskStateDead, event) + + // Run the stop hooks in case task was a restored task that failed prestart + if err := tr.stop(); err != nil { + tr.logger.Error("stop failed while marking task dead", "error", err) + } } // Run the TaskRunner. Starts the user's task or reattaches to a restored task. From c712fdcbd9a187c21cbc7c2291cb696d526a0df8 Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Tue, 2 Jul 2019 13:12:54 +0200 Subject: [PATCH 28/32] fifo: Safer access to Conn --- client/lib/fifo/fifo_windows.go | 34 +++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/client/lib/fifo/fifo_windows.go b/client/lib/fifo/fifo_windows.go index 08396c50acb..b8ea6b4b9b9 100644 --- a/client/lib/fifo/fifo_windows.go +++ b/client/lib/fifo/fifo_windows.go @@ -21,21 +21,29 @@ type winFIFO struct { connLock sync.Mutex } -func (f *winFIFO) Read(p []byte) (n int, err error) { +func (f *winFIFO) ensureConn() (net.Conn, error) { f.connLock.Lock() + defer f.connLock.Unlock() if f.conn == nil { c, err := f.listener.Accept() if err != nil { - return 0, err + return nil, err } - f.conn = c } - f.connLock.Unlock() + + return f.conn, nil +} + +func (f *winFIFO) Read(p []byte) (n int, err error) { + conn, err := f.ensureConn() + if err != nil { + return 0, err + } // If the connection is closed then we need to close the listener // to emulate unix fifo behavior - n, err = f.conn.Read(p) + n, err = conn.Read(p) if err == io.EOF { f.listener.Close() } @@ -43,22 +51,16 @@ func (f *winFIFO) Read(p []byte) (n int, err error) { } func (f *winFIFO) Write(p []byte) (n int, err error) { - f.connLock.Lock() - if f.conn == nil { - c, err := f.listener.Accept() - if err != nil { - return 0, err - } - - f.conn = c + conn, err := f.ensureConn() + if err != nil { + return 0, err } - f.connLock.Unlock() // If the connection is closed then we need to close the listener // to emulate unix fifo behavior - n, err = f.conn.Write(p) + n, err = conn.Write(p) if err == io.EOF { - f.conn.Close() + conn.Close() f.listener.Close() } return n, err From 8fc7284b7db2100809258d0b9b95959ecc4f87ce Mon Sep 17 00:00:00 2001 From: Danielle Lancashire Date: Tue, 2 Jul 2019 14:01:54 +0200 Subject: [PATCH 29/32] changelog: Add entries for windows fixes --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2658c49c129..bcfaf12c696 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,9 @@ BUG FIXES: * core: Improved job spec parsing error messages for variable interpolation failures [[GH-5844](https://github.com/hashicorp/nomad/issues/5844)] * core: Handle error case when attempting to stop a non-existent allocation [[GH-5865](https://github.com/hashicorp/nomad/issues/5865)] * client: Fixed regression that prevented registering multiple services with the same name but different ports in Consul correctly [[GH-5829](https://github.com/hashicorp/nomad/issues/5829)] + * client: Fixed a race condition when performing local task restarts that would result in incorrect task not found errors on Windows [[GH-5899](https://github.com/hashicorp/nomad/pull/5889)] * driver: Fixed an issue preventing external driver plugins from launching executor process [[GH-5726](https://github.com/hashicorp/nomad/issues/5726)] + * driver: Fixed an issue preventing local task restarts on Windows [[GH-5864](https://github.com/hashicorp/nomad/pull/5864)] * driver/docker: Fixed a bug mounting relative paths on Windows [[GH-5811](https://github.com/hashicorp/nomad/issues/5811)] * driver/exec: Upgraded libcontainer dependency to avoid zombie `runc:[1:CHILD]]` processes [[GH-5851](https://github.com/hashicorp/nomad/issues/5851)] * metrics: Upgrade prometheus client to avoid label conflicts [[GH-5850](https://github.com/hashicorp/nomad/issues/5850)] From e68709f9f1ca9d22aecbf783b972c3a838ee5a3d Mon Sep 17 00:00:00 2001 From: Buck Doyle Date: Tue, 2 Jul 2019 08:58:43 -0500 Subject: [PATCH 30/32] Add Mirage-toggling via environment variable (#5899) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’m finding myself having to revert my change to this variable when I switch branches, so this would let me affect the variable without code changes. --- ui/config/environment.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ui/config/environment.js b/ui/config/environment.js index 626a14295d7..56f9179f0ed 100644 --- a/ui/config/environment.js +++ b/ui/config/environment.js @@ -1,6 +1,10 @@ /* eslint-env node */ -const USE_MIRAGE = true; +let USE_MIRAGE = true; + +if (process.env.USE_MIRAGE) { + USE_MIRAGE = process.env.USE_MIRAGE == 'true'; +} module.exports = function(environment) { var ENV = { From e580c98347fd07694c02e65d5691e105c22b3363 Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Tue, 2 Jul 2019 09:50:34 -0500 Subject: [PATCH 31/32] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bcfaf12c696..e592b68c3dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## 0.9.4 (Unreleased) IMPROVEMENTS: - + * core: removed deprecated upgrade path code pertaining to older versions of Nomad [[GH-5894](https://github.com/hashicorp/nomad/issues/5894)] * api: use region from job hcl when not provided as query parameter in job registration and plan endpoints [[GH-5664](https://github.com/hashicorp/nomad/pull/5664)] * api: infer content type of file in alloc filesystem stat endpoint [[GH-5907](https://github.com/hashicorp/nomad/issues/5907)] * metrics: add namespace label as appropriate to metrics [[GH-5847](https://github.com/hashicorp/nomad/issues/5847)] From 6c52f843e001ce663cb744264d9a0ba8f8c20cdf Mon Sep 17 00:00:00 2001 From: Preetha Appan Date: Tue, 2 Jul 2019 13:25:29 -0500 Subject: [PATCH 32/32] Added additional test cases and fixed go test case --- client/allocdir/alloc_dir_test.go | 5 +++-- client/allocdir/input/test.bin | Bin 0 -> 1024 bytes client/allocdir/input/test.go | 25 +++++++++++++++++++++---- 3 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 client/allocdir/input/test.bin diff --git a/client/allocdir/alloc_dir_test.go b/client/allocdir/alloc_dir_test.go index 451ae32e6cc..82b3ae1cb13 100644 --- a/client/allocdir/alloc_dir_test.go +++ b/client/allocdir/alloc_dir_test.go @@ -489,14 +489,15 @@ func TestAllocDir_DetectContentType(t *testing.T) { "input/happy.gif": "image/gif", "input/image.png": "image/png", "input/nomad.jpg": "image/jpeg", - "input/test.go": "application/octet-stream", + "input/test.bin": "application/octet-stream", "input/test.json": "application/json", "input/test.txt": "text/plain; charset=utf-8", + "input/test.go": "text/plain; charset=utf-8", } for _, file := range testFiles { fileInfo, err := os.Stat(file) require.Nil(err) res := detectContentType(fileInfo, file) - require.Equal(expectedEncodings[file], res) + require.Equal(expectedEncodings[file], res, "unexpected output for %v", file) } } diff --git a/client/allocdir/input/test.bin b/client/allocdir/input/test.bin new file mode 100644 index 0000000000000000000000000000000000000000..06d7405020018ddf3cacee90fd4af10487da3d20 GIT binary patch literal 1024 ScmZQz7zLvtFd70QH3R?z00031 literal 0 HcmV?d00001 diff --git a/client/allocdir/input/test.go b/client/allocdir/input/test.go index 8fd43ed1e52..fe29791c460 100644 --- a/client/allocdir/input/test.go +++ b/client/allocdir/input/test.go @@ -1,9 +1,26 @@ -package main +package allocdir import ( - "fmt" + "os" + "syscall" ) -func main() { - fmt.Println("Hello, playground") +// linkDir hardlinks src to dst. The src and dst must be on the same filesystem. +func linkDir(src, dst string) error { + return syscall.Link(src, dst) +} + +// unlinkDir removes a directory link. +func unlinkDir(dir string) error { + return syscall.Unlink(dir) +} + +// createSecretDir creates the secrets dir folder at the given path +func createSecretDir(dir string) error { + return os.MkdirAll(dir, 0777) +} + +// removeSecretDir removes the secrets dir folder +func removeSecretDir(dir string) error { + return os.RemoveAll(dir) }