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

v2 doesn't show image details #121

Closed
3 tasks done
juanluisbaptiste opened this issue Apr 19, 2016 · 4 comments
Closed
3 tasks done

v2 doesn't show image details #121

juanluisbaptiste opened this issue Apr 19, 2016 · 4 comments

Comments

@juanluisbaptiste
Copy link

Expected behavior

  • Click on a image name
  • See image details (image id, author, etc)

Actual behavior

After clicking on any image the details page load empty. This is happening because "/10" is always being appended to the repository details url:

https://registry-ui.xxxxx.com/v2/busybox/10/tags/list

it should be:

https://registry-ui.xxxxx.com/v2/busybox/tags/list

Steps to reproduce the problem

  • Run container
  • Click on an image name
  • See the empty details and the browser url includes "/10" (page 10 ?)

Specifications

  • Which version of docker (docker version) are you running? 1.10.3
  • Which operating system do you use? ubuntu 16.04 beta2
  • Which version of the docker-registry-frontend are you running? v2 container, pulled on 04-16/17-2016
    • If you have the frontend running already you can find the version at the very bottom on every page.

git version: d5dd87d

@arthurdk
Copy link
Contributor

It's an issue related to namespace handling. There a 3 PR currently ( #100 , #104 & #97 ) that needs to be reviewed and merged (they probably need to be rebased on the latest v2 branch)

Temporary solution: try again with an image that has a full namespace like busybox/test:version it should just work fine.

  • Specify full namespace on your image on build time or using docker tag
docker tag busybox registry-host:registry-port/busybox/whatever

and then push the newly tagged image.

@juanluisbaptiste
Copy link
Author

Yes, that works, thanks.

@rbrownejr
Copy link

Is this something that's going to be addressed?

msabramo added a commit to msabramo/docker-registry-frontend that referenced this issue Jul 10, 2016
`app/app.spec.js` contains tests for various routes, which should be
very useful for finding and fixing routing bugs.

See:

  - kwk#97
  - kwk#100
  - kwk#104
  - kwk#121
kwk pushed a commit that referenced this issue Jul 19, 2016
* Make "npm test" run Karma tests

Result is this:

```
$ npm test

> [email protected] pretest /Users/marca/dev/git-repos/docker-registry-frontend_2
> npm install

> [email protected] postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2
> bower install

> [email protected] test /Users/marca/dev/git-repos/docker-registry-frontend_2
> karma start test/karma.conf.js

09 07 2016 13:36:20.771:WARN [karma]: No captured browser, open http://localhost:8080/
09 07 2016 13:36:20.781:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/
09 07 2016 13:36:20.782:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
09 07 2016 13:36:20.788:INFO [launcher]: Starting browser PhantomJS
09 07 2016 13:36:21.250:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#Z4MF21dfMgThOi3zAAAA with id 9538616
PhantomJS 2.1.1 (Mac OS X 0.0.0) Controller: MainCtrl should attach a list of awesomeThings to the scope FAILED
	forEach@bower_components/angular/angular.js:326:24
	loadModules@bower_components/angular/angular.js:4115:12
	createInjector@bower_components/angular/angular.js:4041:22
	workFn@bower_components/angular-mocks/angular-mocks.js:2464:60
	loaded@http://localhost:8080/context.js:151:17
	bower_components/angular/angular.js:4155:53
	TypeError: undefined is not an object (evaluating 'scope.awesomeThings') in test/spec/controllers/main.js (line 20)
	test/spec/controllers/main.js:20:17
	loaded@http://localhost:8080/context.js:151:17
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.005 secs / 0.006 secs)
```

Fixes #139

* Make MainController tests work

This makes the `MainController` tests pass.

```
$ npm test

> [email protected] pretest /Users/marca/dev/git-repos/docker-registry-frontend_2
> npm install

> [email protected] postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2
> bower install

> [email protected] test /Users/marca/dev/git-repos/docker-registry-frontend_2
> karma start test/karma.conf.js

09 07 2016 17:06:59.974:WARN [karma]: No captured browser, open http://localhost:8080/
09 07 2016 17:06:59.986:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/
09 07 2016 17:06:59.986:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
09 07 2016 17:07:00.133:INFO [launcher]: Starting browser PhantomJS
09 07 2016 17:07:01.051:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#6enEIdsugSVdKVioAAAA with id 62465837
PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 SUCCESS (0.004 secs / 0.024 secs)
```

* test/karma.conf.js: Add more files

E.g.:

  - angular-bootstrap,
  - angular-bootstrap-checkbox
  - angular-filter
  - angular-loading-bar
  - angular-moment
  - angular-smart-table

I also alphabetized the list to make it easier to check if something is
already included.

* test/karma.conf.js: Add 'dots' reporter

* Add app/app.spec.js

`app/app.spec.js` contains tests for various routes, which should be
very useful for finding and fixing routing bugs.

See:

  - #97
  - #100
  - #104
  - #121

* Enable junit and spec Karma reporters

* app/app.spec.js: Check scope attributes

* app/app.spec.js: Check scope.appMode

* test/spec/controllers/main.js: Check appVersion & registryHost

* MainController: use registry-services

In `MainController`, depend on the `registry-services` module instead of
the `registry-host-services` module.

* Remove app/services/registry-host-services.js

Remove `app/services/registry-host-services.js` because it seems to be
an older, unused version of `app/services/registry-services.js`

* repository-list-controller: Add dependencies

Specify that the `repository-list-controller` module depends on
`ngRoute` and `ui.bootstrap` modules.

Otherwise controller tests of this module fail.

* $scope.repositories = data;

In `repository-list-controller`, do:

    $scope.repositories = data;

in the promise callback. Otherwise, the new tests in
`app/repository/repository-list-controller.spec.js` fail.

This is because promises get resolved in templates but not in until
tests -- see
http://stackoverflow.com/questions/15048132/angularjs-promise-not-being-resolved-in-unit-test

* Add unit test for RepositoryListController

in `app/repository/repository-list-controller.spec.js`.

      RepositoryListController
        ✓ should attach some keys to the scope

* Gruntfile.js: Use DOCKER_REGISTRY_{HOST,PORT}

Use `DOCKER_REGISTRY_HOST` and `DOCKER_REGISTRY_PORT` environment
variables so that one can specify a custom Docker registry server while
developing, without hacking `Gruntfile.js`.
@jbehrends
Copy link

This is still an issue and make this project unusable with the latest versions of the registry.

@kwk kwk closed this as completed in #147 Aug 4, 2016
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

No branches or pull requests

4 participants