From e906e1ced74e86e0f1d2b2f888c590ef23277987 Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Sat, 18 Jul 2015 00:10:13 +0500 Subject: [PATCH 1/5] WIP: xhyve: add some memory to the VM do not use persistent disk yet --- scripts/run | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run b/scripts/run index 3e2e9459..d7dad23a 100755 --- a/scripts/run +++ b/scripts/run @@ -92,7 +92,7 @@ if [ "$UNAME" == "Darwin" ] && [ -x $(which xhyve) ]; then echo PWD=`pwd` exec sudo xhyve -H -P \ - -m 2G \ + -m 4G \ -s 0:0,hostbridge -s 31,lpc \ -l com1,stdio \ -s 2:0,virtio-net \ From 2efba7cca5ae49c5b90e09f61bab0db8902dce7d Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Mon, 20 Jul 2015 22:21:59 +0500 Subject: [PATCH 2/5] WIP: supply cloud-config via openstack config-2 CD --- scripts/run | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/run b/scripts/run index d7dad23a..d3172745 100755 --- a/scripts/run +++ b/scripts/run @@ -90,12 +90,19 @@ KERNEL_ARGS="rancher.password=rancher console=ttyS0 ${QEMU_APPEND}" if [ "$UNAME" == "Darwin" ] && [ -x $(which xhyve) ]; then + CLOUD_CONFIG_ISO="$(pwd)/cloud-config.iso" + rm -rf ${CLOUD_CONFIG_ISO} + + # PREREQ: brew install cdrtools + mkisofs -R -V config-2 -o "${CLOUD_CONFIG_ISO}" "$(pwd)/cloud-init" + echo PWD=`pwd` exec sudo xhyve -H -P \ -m 4G \ -s 0:0,hostbridge -s 31,lpc \ -l com1,stdio \ -s 2:0,virtio-net \ + -s 3,ahci-cd,${CLOUD_CONFIG_ISO} \ -U a01fb25c-3a19-4759-a47a-2e353e51807d \ -f kexec,${KERNEL},${INITRD_TEST},"earlyprintk=serial acpi=off elevator=noop ${KERNEL_ARGS}" From b7b52c65a1ae970753e6d19bc779ca0301424f17 Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Tue, 21 Jul 2015 12:56:55 +0500 Subject: [PATCH 3/5] ros dev spec find device using blkid spec --- cmd/control/cli.go | 8 ++++++++ cmd/control/dev.go | 11 +++++++++++ 2 files changed, 19 insertions(+) create mode 100644 cmd/control/dev.go diff --git a/cmd/control/cli.go b/cmd/control/cli.go index 9314b672..1ba70fe6 100644 --- a/cmd/control/cli.go +++ b/cmd/control/cli.go @@ -24,6 +24,14 @@ func Main() { HideHelp: true, Subcommands: configSubcommands(), }, + { + Name: "dev", + ShortName: "d", + Usage: "dev spec", + HideHelp: true, + SkipFlagParsing: true, + Action: devAction, + }, { Name: "env", ShortName: "e", diff --git a/cmd/control/dev.go b/cmd/control/dev.go new file mode 100644 index 00000000..88d36aff --- /dev/null +++ b/cmd/control/dev.go @@ -0,0 +1,11 @@ +package control + +import ( + "fmt" + "github.com/codegangsta/cli" + "github.com/rancherio/os/util" +) + +func devAction(c *cli.Context) { + fmt.Println(util.ResolveDevice(c.Args()[0])) +} From 229e4e0fbde4c8c5c59593c6553c82266aaf79ca Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Tue, 21 Jul 2015 15:55:58 +0500 Subject: [PATCH 4/5] ./scripts/run: support OS X --- scripts/build-common | 9 +++++++++ scripts/run | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/build-common b/scripts/build-common index d2a85731..9dd3aa73 100644 --- a/scripts/build-common +++ b/scripts/build-common @@ -4,6 +4,15 @@ : ${BUILD:=$(pwd)/build} : ${DIST:=$(pwd)/dist} +# PREREQ: brew install coreutils +path() +{ + local UNAME=$(uname) + if [ "$UNAME" == "Darwin" ]; then greadlink -f "$1" + elif [ "$UNAME" == "Linux" ]; then readlink -f "$1"; + fi +} + write_base() { DOCKER_BASE=${DOCKER_BASE:?"DOCKER_BASE not defined"} diff --git a/scripts/run b/scripts/run index d3172745..65ffce08 100755 --- a/scripts/run +++ b/scripts/run @@ -26,7 +26,7 @@ while [ "$#" -gt 0 ]; do ;; --cloud-config) shift 1 - CLOUD_CONFIG=$(readlink -f "$1") || : + CLOUD_CONFIG=$(path "$1") || : if [ ! -f ${CLOUD_CONFIG} ]; then echo No such file: "'"${CLOUD_CONFIG}"'" 1>&2 exit 1 From 47d658cf4aa3a480dc79ec52bd106e1178dd8c6e Mon Sep 17 00:00:00 2001 From: Ivan Mikushin Date: Tue, 21 Jul 2015 16:42:59 +0500 Subject: [PATCH 5/5] ./scripts/ssh: support OS X --- scripts/ssh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/ssh b/scripts/ssh index d11fc688..30dc486c 100755 --- a/scripts/ssh +++ b/scripts/ssh @@ -5,4 +5,12 @@ cd $(dirname $0)/.. chmod 0600 ./assets/rancher.key -exec ssh -p 2222 -F ./assets/scripts_ssh_config -i ./assets/rancher.key rancher@localhost "$@" +UNAME=$(uname) + +if [ "$UNAME" == "Darwin" ]; then + HOST=192.168.64.2 # consult `/var/db/dhcpd_leases` or delete it + exec ssh -F ./assets/scripts_ssh_config -i ./assets/rancher.key rancher@${HOST} "$@" +elif [ "$UNAME" == "Linux" ]; then + exec ssh -p 2222 -F ./assets/scripts_ssh_config -i ./assets/rancher.key rancher@localhost "$@" +fi +