Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

Pushing an image with an existing tag does not update the image digest #1034

Closed
NickHu opened this issue Aug 16, 2016 · 9 comments
Closed

Pushing an image with an existing tag does not update the image digest #1034

NickHu opened this issue Aug 16, 2016 · 9 comments
Labels

Comments

@NickHu
Copy link
Contributor

NickHu commented Aug 16, 2016

On commit 2fcfedf, pushing an image with an existing tag now causes the timestamp to update, however the image digest does not update.

@NickHu
Copy link
Contributor Author

NickHu commented Aug 16, 2016

#1031 #553

@mssola
Copy link
Collaborator

mssola commented Aug 24, 2016

Hi @NickHu, are you sure about that ? I tested this locally and in the test suite and I cannot reproduce this. Can you tell me how you could reproduce this ? Thanks.

@NickHu
Copy link
Contributor Author

NickHu commented Aug 25, 2016

I used the docker-compose setup by running ./compose-setup.sh -fe 172.17.0.1.

Then I created an admin user as follows:
Email: [email protected]
Username: test
Password: password

scat6489@thestoat:/tmp/Portus$ docker login -u test -p password http://172.17.0.1:5000
Login Succeeded
scat6489@thestoat:/tmp/Portus$ docker tag 3208a01f3a2f 172.17.0.1:5000/test/alpine
scat6489@thestoat:/tmp/Portus$ docker push 172.17.0.1:5000/test/alpine
The push refers to a repository [172.17.0.1:5000/test/alpine]
643955566746: Pushed 
4fe15f8d0ae6: Pushed 
latest: digest: sha256:8b35d91ac84f7a9c4fd99afdffa9affb7b167d67278e199db77b6f5a555da035 size: 739
scat6489@thestoat:/tmp/Portus$ docker tag 78ba36ecb914 172.17.0.1:5000/test/alpine
scat6489@thestoat:/tmp/Portus$ docker push 172.17.0.1:5000/test/alpine
The push refers to a repository [172.17.0.1:5000/test/alpine]
7e90c0de0e0f: Pushed 
008d6633e80a: Pushed 
4fe15f8d0ae6: Layer already exists 
latest: digest: sha256:bae127b7ad72610e7be3584e7c1b83cd205a7a65256c8515cadb58dc213c07f2 size: 948
scat6489@thestoat:/tmp/Portus$ docker tag 90b559035b72 172.17.0.1:5000/test/alpine
scat6489@thestoat:/tmp/Portus$ docker push 172.17.0.1:5000/test/alpine
The push refers to a repository [172.17.0.1:5000/test/alpine]
7e90c0de0e0f: Layer already exists 
66988e58523d: Pushed 
4fe15f8d0ae6: Layer already exists 
latest: digest: sha256:03344d88938ef42a2ad19a56fcbb09472536c2e3738deab18c84d9e85e9769da size: 949

The image timestamp does indeed update, but the digest listed under the latest tag for alpine remains at 3208a01f3a2f when it should be 90b559035b72.

Here is an SQL dump from the mariadb container:

-- MySQL dump 10.15  Distrib 10.0.23-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: portus_development
-- ------------------------------------------------------
-- Server version   10.0.23-MariaDB-1~jessie

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `portus_development`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `portus_development` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;

USE `portus_development`;

--
-- Table structure for table `activities`
--

DROP TABLE IF EXISTS `activities`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `activities` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `trackable_id` int(11) DEFAULT NULL,
  `trackable_type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `owner_id` int(11) DEFAULT NULL,
  `owner_type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `key` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `parameters` text COLLATE utf8_unicode_ci,
  `recipient_id` int(11) DEFAULT NULL,
  `recipient_type` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `index_activities_on_trackable_id_and_trackable_type` (`trackable_id`,`trackable_type`),
  KEY `index_activities_on_owner_id_and_owner_type` (`owner_id`,`owner_type`),
  KEY `index_activities_on_recipient_id_and_recipient_type` (`recipient_id`,`recipient_type`),
  KEY `index_activities_on_key` (`key`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `activities`
--

LOCK TABLES `activities` WRITE;
/*!40000 ALTER TABLE `activities` DISABLE KEYS */;
INSERT INTO `activities` VALUES (1,1,'Repository',2,'User','repository.push',NULL,1,'Tag','2016-08-25 13:18:39','2016-08-25 13:18:39'),(2,1,'Repository',1,'User','repository.push',NULL,1,'Tag','2016-08-25 13:23:26','2016-08-25 13:23:26');
/*!40000 ALTER TABLE `activities` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `application_tokens`
--

DROP TABLE IF EXISTS `application_tokens`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `application_tokens` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `application` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `token_hash` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `token_salt` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `user_id` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `index_application_tokens_on_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `application_tokens`
--

LOCK TABLES `application_tokens` WRITE;
/*!40000 ALTER TABLE `application_tokens` DISABLE KEYS */;
/*!40000 ALTER TABLE `application_tokens` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `comments`
--

DROP TABLE IF EXISTS `comments`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `comments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `body` text COLLATE utf8_unicode_ci,
  `repository_id` int(11) DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `index_comments_on_repository_id` (`repository_id`),
  KEY `index_comments_on_user_id` (`user_id`),
  CONSTRAINT `fk_rails_f7dd8d775b` FOREIGN KEY (`repository_id`) REFERENCES `repositories` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `comments`
--

LOCK TABLES `comments` WRITE;
/*!40000 ALTER TABLE `comments` DISABLE KEYS */;
/*!40000 ALTER TABLE `comments` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `crono_jobs`
--

DROP TABLE IF EXISTS `crono_jobs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `crono_jobs` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job_id` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `last_performed_at` datetime DEFAULT NULL,
  `healthy` tinyint(1) DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_crono_jobs_on_job_id` (`job_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `crono_jobs`
--

LOCK TABLES `crono_jobs` WRITE;
/*!40000 ALTER TABLE `crono_jobs` DISABLE KEYS */;
INSERT INTO `crono_jobs` VALUES (1,'Perform CatalogJob every 600 seconds',NULL,NULL,'2016-08-25 12:03:25','2016-08-25 12:03:25');
/*!40000 ALTER TABLE `crono_jobs` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `namespaces`
--

DROP TABLE IF EXISTS `namespaces`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `namespaces` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `team_id` int(11) DEFAULT NULL,
  `registry_id` int(11) NOT NULL,
  `global` tinyint(1) DEFAULT '0',
  `description` text COLLATE utf8_unicode_ci,
  `visibility` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_namespaces_on_name_and_registry_id` (`name`,`registry_id`),
  KEY `index_namespaces_on_team_id` (`team_id`),
  KEY `index_namespaces_on_registry_id` (`registry_id`),
  FULLTEXT KEY `fulltext_index_namespaces_on_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `namespaces`
--

LOCK TABLES `namespaces` WRITE;
/*!40000 ALTER TABLE `namespaces` DISABLE KEYS */;
INSERT INTO `namespaces` VALUES (1,'portus_global_namespace_1','2016-08-25 13:15:16','2016-08-25 13:15:16',1,1,1,'The global namespace for the registry Registry.',2),(2,'portus','2016-08-25 13:15:16','2016-08-25 13:15:16',2,1,0,'This personal namespace belongs to portus.',0),(3,'test','2016-08-25 13:15:16','2016-08-25 13:15:16',3,1,0,'This personal namespace belongs to test.',0);
/*!40000 ALTER TABLE `namespaces` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `registries`
--

DROP TABLE IF EXISTS `registries`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `registries` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `hostname` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `use_ssl` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_registries_on_name` (`name`),
  UNIQUE KEY `index_registries_on_hostname` (`hostname`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `registries`
--

LOCK TABLES `registries` WRITE;
/*!40000 ALTER TABLE `registries` DISABLE KEYS */;
INSERT INTO `registries` VALUES (1,'registry','172.17.0.1:5000','2016-08-25 13:15:16','2016-08-25 13:15:16',0);
/*!40000 ALTER TABLE `registries` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `repositories`
--

DROP TABLE IF EXISTS `repositories`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `repositories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `namespace_id` int(11) DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `marked` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_repositories_on_name_and_namespace_id` (`name`,`namespace_id`),
  KEY `index_repositories_on_namespace_id` (`namespace_id`),
  FULLTEXT KEY `fulltext_index_repositories_on_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `repositories`
--

LOCK TABLES `repositories` WRITE;
/*!40000 ALTER TABLE `repositories` DISABLE KEYS */;
INSERT INTO `repositories` VALUES (1,'alpine',3,'2016-08-25 13:18:39','2016-08-25 13:18:39',0);
/*!40000 ALTER TABLE `repositories` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `schema_migrations`
--

DROP TABLE IF EXISTS `schema_migrations`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `schema_migrations` (
  `version` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  UNIQUE KEY `unique_schema_migrations` (`version`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `schema_migrations`
--

LOCK TABLES `schema_migrations` WRITE;
/*!40000 ALTER TABLE `schema_migrations` DISABLE KEYS */;
INSERT INTO `schema_migrations` VALUES ('20150414104850'),('20150416121417'),('20150416121842'),('20150416122030'),('20150417095841'),('20150417100647'),('20150426115313'),('20150427092952'),('20150428081205'),('20150428081530'),('20150429102443'),('20150429185051'),('20150507155138'),('20150507155425'),('20150512105052'),('20150513133049'),('20150515111638'),('20150515114145'),('20150518142223'),('20150521145620'),('20150522140822'),('20150522141052'),('20150522141547'),('20150522144027'),('20150629080516'),('20150722194840'),('20150729153854'),('20150805130722'),('20150831131727'),('20150915130327'),('20150923091830'),('20150924084635'),('20150928112551'),('20151029145958'),('20151112003047'),('20151113162311'),('20151113162513'),('20151117181723'),('20151124150353'),('20151215152138'),('20160411150441'),('20160411150458'),('20160411150745'),('20160422075603'),('20160502140301'),('20160510153011'),('20160526105216'),('20160531151718'),('20160614114318'),('20160614121943'),('20160614122012');
/*!40000 ALTER TABLE `schema_migrations` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `stars`
--

DROP TABLE IF EXISTS `stars`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `stars` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `repository_id` int(11) DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `index_stars_on_user_id` (`user_id`),
  KEY `index_stars_on_repository_id` (`repository_id`),
  CONSTRAINT `fk_rails_510b95ed0a` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
  CONSTRAINT `fk_rails_6b643c7a17` FOREIGN KEY (`repository_id`) REFERENCES `repositories` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `stars`
--

LOCK TABLES `stars` WRITE;
/*!40000 ALTER TABLE `stars` DISABLE KEYS */;
/*!40000 ALTER TABLE `stars` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tags`
--

DROP TABLE IF EXISTS `tags`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tags` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'latest',
  `repository_id` int(11) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  `digest` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `image_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
  `marked` tinyint(1) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_tags_on_name_and_repository_id` (`name`,`repository_id`),
  KEY `index_tags_on_repository_id` (`repository_id`),
  KEY `index_tags_on_user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tags`
--

LOCK TABLES `tags` WRITE;
/*!40000 ALTER TABLE `tags` DISABLE KEYS */;
INSERT INTO `tags` VALUES (1,'latest',1,'2016-08-25 13:18:39','2016-08-25 13:23:26',2,'sha256:03344d88938ef42a2ad19a56fcbb09472536c2e3738deab18c84d9e85e9769da','3208a01f3a2f6495b0f9d60fb84bd05ba9ecb2dd0f5e086376c3de678fa4afc7',0);
/*!40000 ALTER TABLE `tags` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `team_users`
--

DROP TABLE IF EXISTS `team_users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `team_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `team_id` int(11) DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `role` int(11) DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `index_team_users_on_user_id` (`user_id`),
  KEY `index_team_users_on_team_id` (`team_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `team_users`
--

LOCK TABLES `team_users` WRITE;
/*!40000 ALTER TABLE `team_users` DISABLE KEYS */;
INSERT INTO `team_users` VALUES (1,1,1,'2016-08-25 13:15:16','2016-08-25 13:15:16',2),(2,2,1,'2016-08-25 13:15:16','2016-08-25 13:15:16',2),(3,1,2,'2016-08-25 13:15:16','2016-08-25 13:15:16',2),(4,2,3,'2016-08-25 13:15:16','2016-08-25 13:15:16',2);
/*!40000 ALTER TABLE `team_users` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `teams`
--

DROP TABLE IF EXISTS `teams`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `teams` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  `hidden` tinyint(1) DEFAULT '0',
  `description` text COLLATE utf8_unicode_ci,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_teams_on_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `teams`
--

LOCK TABLES `teams` WRITE;
/*!40000 ALTER TABLE `teams` DISABLE KEYS */;
INSERT INTO `teams` VALUES (1,'portus_global_team_1','2016-08-25 13:15:16','2016-08-25 13:15:16',1,NULL),(2,'portus','2016-08-25 13:15:16','2016-08-25 13:15:16',1,NULL),(3,'test','2016-08-25 13:15:16','2016-08-25 13:15:16',1,NULL);
/*!40000 ALTER TABLE `teams` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `email` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
  `encrypted_password` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `reset_password_token` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `reset_password_sent_at` datetime DEFAULT NULL,
  `remember_created_at` datetime DEFAULT NULL,
  `sign_in_count` int(11) NOT NULL DEFAULT '0',
  `current_sign_in_at` datetime DEFAULT NULL,
  `last_sign_in_at` datetime DEFAULT NULL,
  `current_sign_in_ip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `last_sign_in_ip` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `created_at` datetime DEFAULT NULL,
  `updated_at` datetime DEFAULT NULL,
  `admin` tinyint(1) DEFAULT '0',
  `enabled` tinyint(1) DEFAULT '1',
  `ldap_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `failed_attempts` int(11) DEFAULT '0',
  `locked_at` datetime DEFAULT NULL,
  `namespace_id` int(11) DEFAULT NULL,
  `display_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_users_on_username` (`username`),
  UNIQUE KEY `index_users_on_email` (`email`),
  UNIQUE KEY `index_users_on_reset_password_token` (`reset_password_token`),
  UNIQUE KEY `index_users_on_display_name` (`display_name`),
  KEY `index_users_on_namespace_id` (`namespace_id`),
  CONSTRAINT `fk_rails_4931cbf0d6` FOREIGN KEY (`namespace_id`) REFERENCES `namespaces` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'portus','[email protected]','$2a$10$DdRiZyguz9QTtNkO.g6o6O1u43SP5mIUiqBzq.hd4xArJ45FyC2We',NULL,NULL,NULL,10,'2016-08-25 13:33:25','2016-08-25 13:33:25','172.17.0.1','172.17.0.1','2016-08-25 12:03:48','2016-08-25 13:33:25',1,1,NULL,0,NULL,2,NULL),(2,'test','[email protected]','$2a$10$6oWKhJEp8WG48/2sRpREB.hSKU82DfugJm8WmQxqLkI6b4F1Mrr0i',NULL,NULL,NULL,9,'2016-08-25 13:21:02','2016-08-25 13:19:26','172.17.0.1','172.17.0.1','2016-08-25 13:14:22','2016-08-25 13:21:02',1,1,NULL,0,NULL,3,NULL);
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `webhook_deliveries`
--

DROP TABLE IF EXISTS `webhook_deliveries`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `webhook_deliveries` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `webhook_id` int(11) DEFAULT NULL,
  `uuid` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `status` int(11) DEFAULT NULL,
  `request_header` text COLLATE utf8_unicode_ci,
  `request_body` text COLLATE utf8_unicode_ci,
  `response_header` text COLLATE utf8_unicode_ci,
  `response_body` text COLLATE utf8_unicode_ci,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_webhook_deliveries_on_webhook_id_and_uuid` (`webhook_id`,`uuid`),
  KEY `index_webhook_deliveries_on_webhook_id` (`webhook_id`),
  CONSTRAINT `fk_rails_bed195a05d` FOREIGN KEY (`webhook_id`) REFERENCES `webhooks` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `webhook_deliveries`
--

LOCK TABLES `webhook_deliveries` WRITE;
/*!40000 ALTER TABLE `webhook_deliveries` DISABLE KEYS */;
/*!40000 ALTER TABLE `webhook_deliveries` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `webhook_headers`
--

DROP TABLE IF EXISTS `webhook_headers`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `webhook_headers` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `webhook_id` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `index_webhook_headers_on_webhook_id_and_name` (`webhook_id`,`name`),
  KEY `index_webhook_headers_on_webhook_id` (`webhook_id`),
  CONSTRAINT `fk_rails_dcd92095d6` FOREIGN KEY (`webhook_id`) REFERENCES `webhooks` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `webhook_headers`
--

LOCK TABLES `webhook_headers` WRITE;
/*!40000 ALTER TABLE `webhook_headers` DISABLE KEYS */;
/*!40000 ALTER TABLE `webhook_headers` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `webhooks`
--

DROP TABLE IF EXISTS `webhooks`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `webhooks` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `namespace_id` int(11) DEFAULT NULL,
  `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `request_method` int(11) DEFAULT NULL,
  `content_type` int(11) DEFAULT NULL,
  `enabled` tinyint(1) DEFAULT '0',
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `index_webhooks_on_namespace_id` (`namespace_id`),
  CONSTRAINT `fk_rails_0ce6ac35f3` FOREIGN KEY (`namespace_id`) REFERENCES `namespaces` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `webhooks`
--

LOCK TABLES `webhooks` WRITE;
/*!40000 ALTER TABLE `webhooks` DISABLE KEYS */;
/*!40000 ALTER TABLE `webhooks` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Current Database: `portus_test`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `portus_test` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;

USE `portus_test`;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2016-08-25 13:34:48

@mssola
Copy link
Collaborator

mssola commented Aug 26, 2016

Oh, now I see 😄 So, the thing that confused me is wording, because the digest ID is always properly changed. The value under "Image" is the Image ID, which is not the same as the digest ID. The digest ID is never shown to the user (even though maybe we should ?). So, the problem seems to be that the image ID is not updated, and this can happen if you tag with the same name two totally unrelated images.

Is that your problem as well ? Or were you talking about something else ? 😅

@mssola mssola added bug and removed needs info labels Aug 26, 2016
@NickHu
Copy link
Contributor Author

NickHu commented Aug 30, 2016

Yes, that's right - I'm talking about the image ID. It seems like this is a bug because we now have an event generated when an image is updated, which updates the timestamp but not the image ID.

@mssola mssola added this to the Before the 2.1 release milestone Aug 30, 2016
mssola added a commit to mssola/Portus that referenced this issue Aug 31, 2016
@mssola
Copy link
Collaborator

mssola commented Aug 31, 2016

Hey @NickHu, I just submitted the PR #1054, which should fix this issue. Would it be possible for you to try it out, and see if this fixes your problem for sure ?

@NickHu
Copy link
Contributor Author

NickHu commented Aug 31, 2016

Can't seem to get the image ID or timestamp to update when using the docker-compose setup, and I can't figure out why because it seemed to work fine a few days ago. Will do some testing in my own container tomorrow.

@mssola
Copy link
Collaborator

mssola commented Sep 1, 2016

Ok, I won't merge the PR just yet then 😉

NickHu pushed a commit to ox-it/Portus that referenced this issue Sep 2, 2016
@NickHu
Copy link
Contributor Author

NickHu commented Sep 5, 2016

Can confirm that the pr works as intended; sorry it took so long. Please merge.

@NickHu NickHu closed this as completed Sep 5, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants