Skip to content

Commit

Permalink
Fix generated metricbeat so create-metricset works. (#18020) (#18063)
Browse files Browse the repository at this point in the history
* Fix generated metricbeat so create-metricset works.

* Fix mage target add target to x-pack/metricbeat.

(cherry picked from commit 77f0d20)
  • Loading branch information
blakerouse authored Apr 28, 2020
1 parent 6858550 commit dfb87a7
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 28 deletions.
3 changes: 3 additions & 0 deletions generator/_templates/metricbeat/{beat}/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ import (
"github.com/elastic/beats/v7/dev-tools/mage/target/unittest"
"github.com/elastic/beats/v7/generator/common/beatgen"
metricbeat "github.com/elastic/beats/v7/metricbeat/scripts/mage"

// mage:import
_ "github.com/elastic/beats/v7/metricbeat/scripts/mage/target/metricset"
)

func init() {
Expand Down
2 changes: 1 addition & 1 deletion metricbeat/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ ES_BEATS ?= ..
include $(ES_BEATS)/dev-tools/make/mage.mk

# Creates a new metricset. Requires the params MODULE and METRICSET
.PHONY: create-metricset
.PHONY: create-metricset
create-metricset:
mage createMetricset
29 changes: 2 additions & 27 deletions metricbeat/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ import (
"time"

"github.com/magefile/mage/mg"
"github.com/magefile/mage/sh"

devtools "github.com/elastic/beats/v7/dev-tools/mage"
metricbeat "github.com/elastic/beats/v7/metricbeat/scripts/mage"
Expand All @@ -48,6 +47,8 @@ import (
"github.com/elastic/beats/v7/dev-tools/mage/target/unittest"
// mage:import
_ "github.com/elastic/beats/v7/dev-tools/mage/target/compose"
// mage:import
_ "github.com/elastic/beats/v7/metricbeat/scripts/mage/target/metricset"
)

func init() {
Expand Down Expand Up @@ -197,29 +198,3 @@ func PythonIntegTest(ctx context.Context) error {
return devtools.PythonNoseTest(devtools.DefaultPythonTestIntegrationArgs())
})
}

// CreateMetricset creates a new metricset.
//
// Required ENV variables:
// * MODULE: Name of the module
// * METRICSET: Name of the metricset
func CreateMetricset(ctx context.Context) error {
ve, err := devtools.PythonVirtualenv()
if err != nil {
return err
}
python, err := devtools.LookVirtualenvPath(ve, "python")
if err != nil {
return err
}
path, err := os.Getwd()
if err != nil {
return err
}

_, err = sh.Exec(
map[string]string{}, os.Stdout, os.Stderr, python, "scripts/create_metricset.py",
"--path", path, "--module", os.Getenv("MODULE"), "--metricset", os.Getenv("METRICSET"),
)
return err
}
54 changes: 54 additions & 0 deletions metricbeat/scripts/mage/target/metricset/metricset.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// Licensed to Elasticsearch B.V. under one or more contributor
// license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright
// ownership. Elasticsearch B.V. licenses this file to you under
// the Apache License, Version 2.0 (the "License"); you may
// not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.

package metricset

import (
"os"
"path/filepath"

"github.com/magefile/mage/sh"

devtools "github.com/elastic/beats/v7/dev-tools/mage"
)

// CreateMetricset creates a new metricset.
//
// Required ENV variables:
// * MODULE: Name of the module
// * METRICSET: Name of the metricset
func CreateMetricset() error {
ve, err := devtools.PythonVirtualenv()
if err != nil {
return err
}
python, err := devtools.LookVirtualenvPath(ve, "python")
if err != nil {
return err
}
beatsDir, err := devtools.ElasticBeatsDir()
if err != nil {
return err
}
scriptPath := filepath.Join(beatsDir, "metricbeat", "scripts", "create_metricset.py")

_, err = sh.Exec(
map[string]string{}, os.Stdout, os.Stderr, python, scriptPath,
"--path", devtools.CWD(), "--module", os.Getenv("MODULE"), "--metricset", os.Getenv("METRICSET"),
)
return err
}
5 changes: 5 additions & 0 deletions x-pack/metricbeat/Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
ES_BEATS ?= ../..

include $(ES_BEATS)/dev-tools/make/mage.mk

# Creates a new metricset. Requires the params MODULE and METRICSET
.PHONY: create-metricset
create-metricset:
mage createMetricset
2 changes: 2 additions & 0 deletions x-pack/metricbeat/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ import (
"github.com/elastic/beats/v7/dev-tools/mage/target/unittest"
// mage:import
"github.com/elastic/beats/v7/dev-tools/mage/target/test"
// mage:import
_ "github.com/elastic/beats/v7/metricbeat/scripts/mage/target/metricset"
)

func init() {
Expand Down

0 comments on commit dfb87a7

Please sign in to comment.