m3em/

directory
v0.15.0-rc.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2020 License: Apache-2.0

README

m3em GoDoc Build Status Coverage Status

m3em (pronounced meme) is an acronym for M3 Environment Manager. ccm:C* :: m3em:m3db. Unlike ccm, m3em permits remote host operations.

The goal of m3em is to make it easy to create, manage and destroy services across hosts. It is meant for testing clustered services like m3db and m3aggregator .

Components

There are two primary components in m3em:

(1) API constructs encapsulating placement interactions (see cluster package), along with remote process orchestration (see node package).

(2) m3em_agent: process running on remote hosts. It's responsible for process lifecycle, heartbeating back to the coordinating host.

Usage Example

  • For API usage, refer tools/dtest in M3DB
m3em_agent
$ make m3em_agent
$ scp ./out/m3em_agent <remote-host>:<remote-path>
$ ssh <remote-host>
$ cat >m3em.agent.yaml <<EOF
server:
  listenAddress: "0.0.0.0:14541"
  debugAddress: "0.0.0.0:24541"

metrics:
  sampleRate: 0.02
  m3:
    hostPort: "127.0.0.1:9052"
    service: "m3em"
    includeHost: true
    env: "development"

agent:
  workingDir: /var/m3em-agent
  startupCmds:
    - path: /bin/echo
      args:
        - "sample startup command"
  releaseCmds:
    - path: /bin/echo
      args:
        - "sample release command"
  testEnvVars:
    UBER_DATACENTER: sjc1
EOF
$ /remote-path/m3em_agent -f m3em.agent.yaml

This project is released under the Apache License, Version 2.0.

Directories

Path Synopsis
Package build is a generated GoMock package.
Package build is a generated GoMock package.
generated
proto/heartbeat
Package heartbeat is a generated protocol buffer package.
Package heartbeat is a generated protocol buffer package.
proto/m3em
Package m3em is a generated GoMock package.
Package m3em is a generated GoMock package.
Package node is a generated GoMock package.
Package node is a generated GoMock package.
os
exec/mocks
Package exec is a generated GoMock package.
Package exec is a generated GoMock package.
fs
fs/mocks
Package fs is a generated GoMock package.
Package fs is a generated GoMock package.
x

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL