Merge pull request #607 from jonboulle/md

rkt: metadatasvc -> metadata-service
This commit is contained in:
Jonathan Boulle
2015-03-11 11:52:35 -07:00
10 changed files with 56 additions and 56 deletions
+1 -1
View File
@@ -269,7 +269,7 @@ Work in progress. Please contribute!
Work in progress. Please contribute!
### rkt metadatasvc
### rkt metadata-service
Work in progress. Please contribute!
+1 -1
View File
@@ -12,7 +12,7 @@ Note: because of the lack of the metadata service Rocket does not strictly imple
## Private networking mode
For all of the private networking options the metadata service, launched via `rkt metadatasvc`, must be running.
For all of the private networking options the metadata service, launched via `rkt metadata-service`, must be running.
The service will listen on 0.0.0.0:2375 by default and provides the private networking containers the metadata services described in the App Container Spec.
Ideally this metadata service is launched via your systems init system.
+9 -9
View File
@@ -28,9 +28,9 @@ const (
stage1Dir = "/stage1"
stage2Dir = "/opt/stage2"
MetadataSvcIP = "169.254.169.255"
MetadataSvcPubPort = 80
MetadataSvcPrvPort = 2375
MetadataServiceIP = "169.254.169.255"
MetadataServicePubPort = 80
MetadataServicePrvPort = 2375
)
// Stage1ImagePath returns the path where the stage1 app image (unpacked ACI) is rooted,
@@ -84,12 +84,12 @@ func ImageManifestPath(root string, imageID types.Hash) string {
return filepath.Join(AppImagePath(root, imageID), aci.ManifestFile)
}
// MetadataSvcPrivateURL returns the private URL used to host the metadata service
func MetadataSvcPrivateURL() string {
return fmt.Sprintf("http://127.0.0.1:%v", MetadataSvcPrvPort)
// MetadataServicePrivateURL returns the private URL used to host the metadata service
func MetadataServicePrivateURL() string {
return fmt.Sprintf("http://127.0.0.1:%v", MetadataServicePrvPort)
}
// MetadataSvcPublicURL returns the public URL used to host the metadata service
func MetadataSvcPublicURL() string {
return fmt.Sprintf("http://%v:%v", MetadataSvcIP, MetadataSvcPubPort)
// MetadataServicePublicURL returns the public URL used to host the metadata service
func MetadataServicePublicURL() string {
return fmt.Sprintf("http://%v:%v", MetadataServiceIP, MetadataServicePubPort)
}
+13 -13
View File
@@ -37,11 +37,11 @@ import (
)
var (
cmdMetadataSvc = &Command{
Name: "metadatasvc",
cmdMetadataService = &Command{
Name: "metadata-service",
Summary: "Run metadata service",
Usage: "[--src-addr CIDR] [--listen-port PORT] [--no-idle]",
Run: runMetadataSvc,
Run: runMetadataService,
}
)
@@ -68,10 +68,10 @@ const (
)
func init() {
commands = append(commands, cmdMetadataSvc)
cmdMetadataSvc.Flags.StringVar(&flagSrcAddrs, "src-addr", "0.0.0.0/0", "source address/range for iptables")
cmdMetadataSvc.Flags.IntVar(&flagListenPort, "listen-port", common.MetadataSvcPrvPort, "listen port")
cmdMetadataSvc.Flags.BoolVar(&flagNoIdle, "no-idle", false, "exit when last container is unregistered")
commands = append(commands, cmdMetadataService)
cmdMetadataService.Flags.StringVar(&flagSrcAddrs, "src-addr", "0.0.0.0/0", "source address/range for iptables")
cmdMetadataService.Flags.IntVar(&flagListenPort, "listen-port", common.MetadataServicePrvPort, "listen port")
cmdMetadataService.Flags.BoolVar(&flagNoIdle, "no-idle", false, "exit when last container is unregistered")
}
func modifyIPTables(action, port string) error {
@@ -80,8 +80,8 @@ func modifyIPTables(action, port string) error {
"-t", "nat",
action, "PREROUTING",
"-p", "tcp",
"-d", common.MetadataSvcIP,
"--dport", strconv.Itoa(common.MetadataSvcPubPort),
"-d", common.MetadataServiceIP,
"--dport", strconv.Itoa(common.MetadataServicePubPort),
"-j", "REDIRECT",
"--to-port", port,
).Run()
@@ -498,8 +498,8 @@ func cleanup(port string) {
}
}
func runMetadataSvc(args []string) (exit int) {
log.Print("Metadatasvc starting...")
func runMetadataService(args []string) (exit int) {
log.Print("Metadata service starting...")
l, err := getListener()
if err != nil {
@@ -539,7 +539,7 @@ func runMetadataSvc(args []string) (exit int) {
Handler: makeHandlers(),
}
log.Print("Metadatasvc running...")
log.Print("Metadata service running...")
if err = srv.Serve(l); err != nil {
log.Printf("Error serving HTTP: %v", err)
@@ -547,7 +547,7 @@ func runMetadataSvc(args []string) (exit int) {
}
cleanup(port)
log.Print("Metadatasvc exiting...")
log.Print("Metadata service exiting...")
return
}
+4 -4
View File
@@ -42,7 +42,7 @@ var (
func init() {
commands = append(commands, cmdRunPrepared)
cmdRunPrepared.Flags.BoolVar(&flagPrivateNet, "private-net", false, "give container a private network")
cmdRunPrepared.Flags.BoolVar(&flagSpawnMetadataSvc, "spawn-metadata-svc", false, "launch metadata svc if not running")
cmdRunPrepared.Flags.BoolVar(&flagSpawnMetadataService, "spawn-metadata-svc", false, "launch metadata svc if not running")
}
func runRunPrepared(args []string) (exit int) {
@@ -100,9 +100,9 @@ func runRunPrepared(args []string) (exit int) {
Store: ds,
Debug: globalFlags.Debug,
},
PrivateNet: flagPrivateNet,
SpawnMetadataSvc: flagSpawnMetadataSvc,
LockFd: lfd,
PrivateNet: flagPrivateNet,
SpawnMetadataService: flagSpawnMetadataService,
LockFd: lfd,
}
stage0.Run(rcfg, c.path()) // execs, never returns
return 1
+11 -11
View File
@@ -33,12 +33,12 @@ import (
var (
defaultStage1Image string // either set by linker, or guessed in init()
flagStage1Image string
flagVolumes volumeList
flagPrivateNet bool
flagSpawnMetadataSvc bool
flagInheritEnv bool
cmdRun = &Command{
flagStage1Image string
flagVolumes volumeList
flagPrivateNet bool
flagSpawnMetadataService bool
flagInheritEnv bool
cmdRun = &Command{
Name: "run",
Summary: "Run image(s) in an application container in rocket",
Usage: "[--volume name,type=host...] IMAGE [-- image-args...[---]]...",
@@ -66,7 +66,7 @@ func init() {
cmdRun.Flags.StringVar(&flagStage1Image, "stage1-image", defaultStage1Image, `image to use as stage1. Local paths and http/https URLs are supported. If empty, Rocket will look for a file called "stage1.aci" in the same directory as rkt itself`)
cmdRun.Flags.Var(&flagVolumes, "volume", "volumes to mount into the shared container environment")
cmdRun.Flags.BoolVar(&flagPrivateNet, "private-net", false, "give container a private network")
cmdRun.Flags.BoolVar(&flagSpawnMetadataSvc, "spawn-metadata-svc", false, "launch metadata svc if not running")
cmdRun.Flags.BoolVar(&flagSpawnMetadataService, "spawn-metadata-svc", false, "launch metadata svc if not running")
cmdRun.Flags.BoolVar(&flagInheritEnv, "inherit-environment", false, "inherit all environment variables not set by apps")
flagVolumes = volumeList{}
}
@@ -256,10 +256,10 @@ func runRun(args []string) (exit int) {
}
rcfg := stage0.RunConfig{
CommonConfig: cfg,
PrivateNet: flagPrivateNet,
SpawnMetadataSvc: flagSpawnMetadataSvc,
LockFd: lfd,
CommonConfig: cfg,
PrivateNet: flagPrivateNet,
SpawnMetadataService: flagSpawnMetadataService,
LockFd: lfd,
}
stage0.Run(rcfg, c.path()) // execs, never returns
+9 -9
View File
@@ -64,9 +64,9 @@ type PrepareConfig struct {
// configuration parameters needed by Run
type RunConfig struct {
CommonConfig
PrivateNet bool // container should have its own network stack
SpawnMetadataSvc bool // launch metadata service
LockFd int // lock file descriptor
PrivateNet bool // container should have its own network stack
SpawnMetadataService bool // launch metadata service
LockFd int // lock file descriptor
}
// configuration shared by both Run and Prepare
@@ -180,9 +180,9 @@ func Run(cfg RunConfig, dir string) {
log.Fatalf("setting lock fd environment: %v", err)
}
if cfg.SpawnMetadataSvc {
if cfg.SpawnMetadataService {
log.Print("Launching metadata svc")
if err := launchMetadataSvc(cfg.Debug); err != nil {
if err := launchMetadataService(cfg.Debug); err != nil {
log.Printf("Failed to launch metadata svc: %v", err)
}
}
@@ -285,13 +285,13 @@ func expandImage(cfg PrepareConfig, img types.Hash, dest string) error {
return nil
}
func launchMetadataSvc(debug bool) error {
func launchMetadataService(debug bool) error {
// use socket activation protocol to avoid race-condition of
// service becoming ready
l, err := net.ListenTCP("tcp4", &net.TCPAddr{Port: common.MetadataSvcPrvPort})
l, err := net.ListenTCP("tcp4", &net.TCPAddr{Port: common.MetadataServicePrvPort})
if err != nil {
if err.(*net.OpError).Err.(*os.SyscallError).Err == syscall.EADDRINUSE {
// assume metadatasvc is already running
// assume metadata-service is already running
return nil
}
return err
@@ -308,7 +308,7 @@ func launchMetadataSvc(debug bool) error {
if debug {
args = append(args, "--debug")
}
args = append(args, "metadatasvc", "--no-idle")
args = append(args, "metadata-service", "--no-idle")
cmd := exec.Cmd{
Path: args[0],
+6 -6
View File
@@ -35,11 +35,11 @@ import (
// Container encapsulates a ContainerRuntimeManifest and ImageManifests
type Container struct {
Root string // root directory where the container will be located
Manifest *schema.ContainerRuntimeManifest
Apps map[string]*schema.ImageManifest
MetadataSvcURL string
Networks []string
Root string // root directory where the container will be located
Manifest *schema.ContainerRuntimeManifest
Apps map[string]*schema.ImageManifest
MetadataServiceURL string
Networks []string
}
// LoadContainer loads a Container Runtime Manifest (as prepared by stage0) and
@@ -127,7 +127,7 @@ func (c *Container) appToSystemd(ra *schema.RuntimeApp, am *schema.ImageManifest
env := app.Environment
env.Set("AC_APP_NAME", name)
env.Set("AC_METADATA_URL", c.MetadataSvcURL)
env.Set("AC_METADATA_URL", c.MetadataServiceURL)
if err := c.writeEnvFile(env, id); err != nil {
return fmt.Errorf("unable to write environment file: %v", err)
+1 -1
View File
@@ -99,7 +99,7 @@ func stage1() int {
}
mirrorLocalZoneInfo(c.Root)
c.MetadataSvcURL = common.MetadataSvcPublicURL()
c.MetadataServiceURL = common.MetadataServicePublicURL()
if err = c.ContainerToSystemd(); err != nil {
fmt.Fprintf(os.Stderr, "Failed to configure systemd: %v\n", err)
+1 -1
View File
@@ -65,7 +65,7 @@ func registerApp(uuid, app string, r io.Reader) error {
}
func httpRequest(method, pth string, body io.Reader) error {
uri := common.MetadataSvcPrivateURL() + pth
uri := common.MetadataServicePrivateURL() + pth
req, err := http.NewRequest(method, uri, body)
if err != nil {
return err