Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev env setup #358

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Dev env setup #358

wants to merge 7 commits into from

Conversation

Cubic-BB8
Copy link
Contributor

No description provided.

@FRosner
Copy link
Owner

FRosner commented Mar 16, 2018

Is this still WIP or should I take a look at it?

@Cubic-BB8
Copy link
Contributor Author

As you can see there are some failed tests which I try to fix soon. All the rest could be reviewed meanwhile.

@Cubic-BB8
Copy link
Contributor Author

@FRosner
I cant publish docker image, so wont run IT locally. Please provide me with the hint how to fix it.

@@ -30,7 +30,7 @@ broccoli {
# How to connect to Nomad
nomad {
# The URL of the Nomad client to be used by Broccoli.
url = "http://localhost:4646"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not change the default value from localhost. If you need custom configuration, please provide a specific application.conf. For more infos on how configuration is read, you can check https://github.com/lightbend/config#standard-behavior

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

10x, will look later

@@ -32,7 +32,6 @@
"Resources": {
"CPU": 50,
"MemoryMB": 128,
"DiskMB": 500,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are you removing this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FRosner
Cause Nomad wont run the job with this line as it was.
Here is Nomad output:

    default: [NOMAD]     2018/03/16 14:23:56.358846 [ERR] http: Request /v1/jobs, error: 1 error(s) occurred:
    default: [NOMAD]
    default: [NOMAD] * Task group curl-group validation failed: 1 error(s) occurred:
    default: [NOMAD]
    default: [NOMAD] * Task curl-task validation failed: 1 error(s) occurred:
    default: [NOMAD]
    default: [NOMAD] * Task can't ask for disk resources, they have to be specified at the task group level.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah so this is actually something that changed going to a newer Nomad version it seems. I remember that they require you to specify disk info in a different location from now on.

@FRosner
Copy link
Owner

FRosner commented Mar 16, 2018

I cant publish docker image, so wont run IT locally. Please provide me with the hint how to fix it.

I am not sure I understand. What are you trying to do and where, and what is the error message you are getting?

@Cubic-BB8
Copy link
Contributor Author

@FRosner
So, tests are failing due to this error. Correct me if I'm wrong.

To run tests locally Im doing $ sbt it:test. Correct me if Im wrong.

Here is output:

[info] Loading project definition from /Users/ivan/Work/code/src/github.com/Cubic-BB8/cluster-broccoli/project
[info] Set current project to root (in build file:/Users/ivan/Work/code/src/github.com/Cubic-BB8/cluster-broccoli/)
[info] Running webpack resource generator
[info] Compiling 5 Scala sources to /Users/ivan/Work/code/src/github.com/Cubic-BB8/cluster-broccoli/server/target/scala-2.11/it-classes...
[info] UnixSignalManagerIntegrationSpec
[info]
[info] Registering new signal should
[info]   + trigger the handler when the signal is raised
[info]
[info]
[info] Total for specification UnixSignalManagerIntegrationSpec
[info] Finished in 1 second, 538 ms
[info] 1 example, 0 failure, 0 error
[info]
Password:
Unable to find image 'frosner/cluster-broccoli-test:latest' locally
docker: Error response from daemon: pull access denied for frosner/cluster-broccoli-test, repository does not exist or may require 'docker login'.
See 'docker run --help'.
Unable to find image 'frosner/cluster-broccoli-test:latest' locally
docker: Error response from daemon: pull access denied for frosner/cluster-broccoli-test, repository does not exist or may require 'docker login'.
See 'docker run --help'.

@FRosner
Copy link
Owner

FRosner commented Mar 16, 2018

As you can see in .travis.yml, we perform two steps before executing the integration tests. I remember that we didn't manage to fully sbtize this part and that's why you have to manually build the test image. If you like we can try to include this part also in the SBT workflow.

   script:
        - . prepare-docker-builds
        - docker build -t frosner/cluster-broccoli-test docker/test/

Please let me know if this is unblocking you :)

@FRosner
Copy link
Owner

FRosner commented Mar 16, 2018

Feel free to ping me if you finished the vagrant file. I'm happy to try it out but I'm also fine if @Gerrrr gives it a shot. As you guys prefer. It would be nice to have some documentation on how to use it, maybe adding a section to the readme file or something.

It should explain how to "start" it, and then one or two small examples / use cases what you can do with it maybe.

@FRosner
Copy link
Owner

FRosner commented Mar 16, 2018

Thanks for the effort!

@Cubic-BB8
Copy link
Contributor Author

Cubic-BB8 commented Mar 20, 2018

@FRosner ,

Actually there are some obstacles which convince me to move Vagrant file into separate repo at all:

  1. Change in the Vagrant file triggers new build, while it is not a part of it.
  2. Versions of infrastructure parts project is tested against are not corresponding to any used in environment.

Thus, feel free to merge this PR or just follow a new repo. I'm providing a link as soon as repo is created.

@FRosner
Copy link
Owner

FRosner commented Mar 20, 2018

New repo also works for me. The first argument is not that ciritical IMO, as the same holds for documentation and we're not paying for the builds. I also don't expect us to change the vagrantfile once per day.

I'm not sure I understand the second point. Can you elaborate a bit?

Why I think it's good to have it close to the code is that you can clone the repo, spin up the vagrant machine and start developing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants