Activity log for bug #1505853

Date Who What changed Old value New value Message
2015-10-14 00:15:37 Michael Nelson bug added bug
2015-10-14 00:18:26 Michael Nelson description Steps to repro: 1) Pull a mojo spec branch (or switch to a different spec) - mojo-u1-project-A 2) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-A Actual result: A bunch of env vars (at least MOJO_STAGE=ols/mojo-u1-X/devel, MOJO_WORKSPACE and MOJO_SPEC) need to be defined / exported. 3) debug/develop, then destroy juju env and rebootstrap 3) cd/switch to a different spec - mojo-u1-project-B 4) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-B Actual result: A bunch of env vars need to be redefined / exported, and can result in contamination from mojo-u1-project-A This isn't an issue for deployments/IS, as a deployment is setup once, env exported, and things don't change (at least, you don't switch to a different spec in that env). But for a typical (?) developer workflow, it isn't great. In the past, we've worked around this by using a Makefile to define the required variables without needing to export them to the session, so we can switch branches and just run `make run`. But this has then leaked into some deployment commands (ie. currently `make manifests/upgrade-deployment` rather than just using `mojo run --manifest-file manifests/upgrade-deployment` with the correct env vars exported). And so, it's important from IS pov, that at least for all deployment related tasks, we're not using Makefiles. A developer should be able to pull (or switch to) a spec branch, and run one command, to run a spec. Steps to repro:  1) Pull a mojo spec branch (or switch to a different spec) - mojo-u1-project-A  2) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-A Actual result: A bunch of env vars (at least MOJO_STAGE=ols/mojo-u1-X/devel, MOJO_WORKSPACE and MOJO_SPEC) need to be defined / exported.  3) debug/develop, then destroy juju env and rebootstrap  3) cd/switch to a different spec - mojo-u1-project-B  4) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-B Actual result: A bunch of env vars need to be redefined / exported, and can result in contamination from mojo-u1-project-A This isn't an issue for deployments/IS, as a deployment is setup once, env exported, and things don't change (at least, you don't switch to a different spec in that env). But for a typical (?) developer workflow, it isn't great. In the past, we've worked around this by using a Makefile to define the required variables without needing to export them to the session, so we can switch branches and just run `make run`. But this has then leaked into some deployment commands (ie. currently `make manifests/upgrade-deployment` rather than just using `mojo run --manifest-file manifests/upgrade-deployment` with the correct env vars exported). And so, it's important from IS pov, that at least for all deployment related tasks, we're not using Makefiles.
2015-10-14 00:19:49 Michael Nelson summary mojo can't be used without exporting at least 3 env vars Can't switch between mojo specs easily
2015-10-14 00:21:21 Michael Nelson description A developer should be able to pull (or switch to) a spec branch, and run one command, to run a spec. Steps to repro:  1) Pull a mojo spec branch (or switch to a different spec) - mojo-u1-project-A  2) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-A Actual result: A bunch of env vars (at least MOJO_STAGE=ols/mojo-u1-X/devel, MOJO_WORKSPACE and MOJO_SPEC) need to be defined / exported.  3) debug/develop, then destroy juju env and rebootstrap  3) cd/switch to a different spec - mojo-u1-project-B  4) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-B Actual result: A bunch of env vars need to be redefined / exported, and can result in contamination from mojo-u1-project-A This isn't an issue for deployments/IS, as a deployment is setup once, env exported, and things don't change (at least, you don't switch to a different spec in that env). But for a typical (?) developer workflow, it isn't great. In the past, we've worked around this by using a Makefile to define the required variables without needing to export them to the session, so we can switch branches and just run `make run`. But this has then leaked into some deployment commands (ie. currently `make manifests/upgrade-deployment` rather than just using `mojo run --manifest-file manifests/upgrade-deployment` with the correct env vars exported). And so, it's important from IS pov, that at least for all deployment related tasks, we're not using Makefiles. A developer should be able to pull (or switch to) a spec branch, and run one command, to run a spec. Steps to repro:  1) Pull a mojo spec branch (or switch to a different spec) - mojo-u1-project-A  2) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-A Actual result: A bunch of env vars (at least MOJO_STAGE=ols/mojo-u1-X/devel, MOJO_WORKSPACE and MOJO_SPEC) need to be defined / exported.  3) debug/develop, then destroy juju env and rebootstrap  4) cd/switch to a different spec - mojo-u1-project-B  5) `mojo run` Expected result: mojo runs the main manifest for mojo-u1-project-B Actual result: A bunch of env vars need to be redefined / exported, and can result in contamination from mojo-u1-project-A This isn't an issue for deployments/IS, as a deployment is setup once, env exported, and things don't change (at least, you don't switch to a different spec in that env). But for a typical (?) developer workflow, it isn't great. In the past, we've worked around this by using a Makefile to define the required variables without needing to export them to the session, so we can switch branches and just run `make run`. But this has then leaked into some deployment commands (ie. currently `make manifests/upgrade-deployment` rather than just using `mojo run --manifest-file manifests/upgrade-deployment` with the correct env vars exported). And so, it's important from IS pov, that at least for all deployment related tasks, we're not using Makefiles.
2015-10-14 10:16:16 Tom Haddon mojo: status New Confirmed
2015-10-14 10:16:19 Tom Haddon mojo: importance Undecided Low