Project

General

Profile

Actions

Bug #1736

closed

db:migrate does generate errors

Added by Florent Delvaille almost 12 years ago. Updated almost 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Hi,

As already discussed on #theforeman, there is an issue with db:migrate on MYSQL.

I tested on my production DB, and on an empty DB, same problem.

On the production DB:

[root@lpr-mgmt01 foreman]# RAILS_ENV=production bundle exec rake db:migrate
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8
==  AddSubnetAndDomainToHostGroups: migrating =================================
-- add_column(:hostgroups, :subnet_id, :integer)
rake aborted!
An error has occurred, all later migrations canceled:

Mysql::Error: Duplicate column name 'subnet_id': ALTER TABLE `hostgroups` ADD `subnet_id` int(11)

Tasks: TOP => db:migrate
(See full trace by running task with --trace)

[root@lpr-mgmt01 foreman]# RAILS_ENV=production bundle exec rake db:migrate:status
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8

database: puppet

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20101018120621  Create logs
   up     20091219132839  Create lookup values
   up     20100914092104  Add my booleans to user
   up     20120110113051  Create subnet domain
   up     20120506143325  Create images
   up     20100625155400  Create notices
   up     20090907045751  Add domain to parameter
   up     20110712070522  Create host class
   up     20120127141602  Add windows templates
   up     20100325142616  Update fact names and values to bin
   up     20111124095054  Add remote address to audits
   up     20100523141204  Create media operatingsystems and migrate data
   up     20100822072954  Create user facts
   up     20101202104444  Add proxy to domain
   up     20090905155444  Add type to parameter
   up     20090715143858  Create architectures
   up     20120529113900  Add user compute resources
   up     20110404150043  Add media path to medium
   up     20110407091150  Add image to host
   up     20090729132209  Create reports
   up     20110420150600  Add solaris templates
   up     20090920064156  Add index to parameters
   up     20100524080302  Migrate installation medium uri
   up     20110301154453  Add managed to hosts
   up     20101122132041  Create operatingsystems config templates
   up     20100414125652  Add releasename to os
   up     20111124095053  Rename changes to audited changes
   up     20100701081235  Add user domains and hostgroups
   up     20100629093200  Create roles
  down    20120624081510  Add auditable name and associated name to audit
   up     20090720134126  Create operatingsystems
  down    20120613082125  Rename association to associated
   up     20120509131302  Add cert name to host
   up     20090802062223  Create puppetclasses
   up     20101103150254  Add owned filter to user
   up     20090714132448  Create hosts
   up     20090730152224  Create ptables
  down    20120705130038  Add attributes to compute resources
   up     20110412103238  Remove unused fields from puppet classes
   up     20101130100315  Create proxies
   up     20090920065522  Add index to reports
   up     20090718064254  Create subnets
   up     20120122131037  Create compute resources
   up     20120607074318  Convert params to text
   up     20101125153351  Add default templates
   up     20110327123639  Add priority to parameter
   up     20110725142054  Add suse templates
   up     20110616080444  Add look up key id to puppet class
   up     20090905150131  Create hostgroups
   up     20100525094200  Simplify parameters
   up     20120521142924  Add dns id to subnet
   up     20110619130336  Add ancestry to hostgroup
   up     20100419151910  Add owner to hosts
   up     20090718060746  Create domains
   up     20100823181036  Add enabled to hosts
   up     20090920043521  Add index to host
   up     20101213085232  Add grubby template
   up     20101121080425  Create config templates
   up     20110213104226  Create proxy features
   up     20090722141107  Create environments
   up     20101121135521  Create template combinations
   up     20100616114400  Change family in os
   up     20091214045923  Calc existing reports
   up     20091012135004  Create users
   up     20090722140138  Create models
   up     20110617190131  Add sparc info to model
   up     20110128130239  Add default pxe menu template
  down    20120624094034  Add os family to ptable
   up     20100601221000  Update os minor
   up     20120510113417  Create key pairs
   up     20100310080727  Add family to os
   up     20100115021803  Change mysql reports column
   up     20110628115422  Create settings
   up     20110801090318  Add vm defaults to hostgroup
   up     20120102071633  Add from and to ranges to subnets
   up     20120604114049  Add epel snippets
   up     20110712064120  Update audits table
   up     20100628123400  Add internal auth
   up     20101123153303  Create os default templates
   up     20120523065531  Add image id to host
   up     20120126113850  Add uuid and compute id to host
   up     20091219132338  Create lookup keys
  down    20120624093958  Add os family to media
   up     20120529115814  Add compute resources boolean to user
   up     20120502105518  Update report field to large int
   up     20111227095806  Ensure all hostnames are lowercase
   up     20101123152150  Create template kinds
   up     20090916053824  Change host build default to false
   up     20101019183859  Convert reports
   up     20101019122857  Add metrics to report
   up     20090804130144  Create parameters
   up     20101018120603  Create sources
   up     20091016031017  Create sessions
  down    20120620124659  Fix associated type
   up     20110417102947  Add table bookmarks
   up     20090820130541  Create auth sources
  down    20120620124658  Fix auditable type
   up     20090714132449  Add audits table
   up     20111124095055  Rename parent to association
   up     20110216101848  Change puppetmaster column
   up     20101018120548  Create messages
   up     20100523114430  Add ubuntu custom lvm ptable
   up     20120612070100  Change bookmark column to text
   up     20090915030726  Change report field type to text
   up     20120313081913  Add puppet master proxy to host and host group
   up     20101130093613  Add sub systems to subnet
   up     20090717025820  Create media
   up     20110106132600  Create hypervisors
   up     20110117162722  Add host group defaults
   up     20100416124600  Create usergroups
   up     20110613141800  Add solaris disks
   up     20111205231500  Add gateway and dns to subnets
   up     20091022054108  Add status to report
   up     20110321070954  Revert face names and values to text records
   up     20101118130026  Correct media
  down    20120623002052  Add ok hosts book mark
  down    20110803114134  Add subnet and domain to host groups

@

On an empty new DB (needs to run db:migrate twice to have errors):
@
[root@lpr-mgmt01 foreman]# RAILS_ENV=production bundle exec rake db:migrate
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8
==  CreateHosts: migrating ====================================================
==  AddCreatedAtToAllTables: migrating ========================================
-- add_column("inventory_facts", :created_at, :datetime)
   -> 0.0364s
-- add_column("schema_migrations", :created_at, :datetime)
   -> 0.0269s
==  AddCreatedAtToAllTables: migrated (0.0735s) ===============================

==  RemoveDuplicatedIndexOnAllTables: migrating ===============================
==  RemoveDuplicatedIndexOnAllTables: migrated (0.0075s) ======================

==  AddEnvironmentToHost: migrating ===========================================
==  AddEnvironmentToHost: migrated (0.0009s) ==================================

==  AddInventoryServiceTables: migrating ======================================
==  AddInventoryServiceTables: migrated (0.0010s) =============================

-- add_column(:hosts, :mac, :string, {:default=>"", :limit=>17})
   -> 0.0482s
-- add_column(:hosts, :sp_mac, :string, {:default=>"", :limit=>17})
   -> 0.0341s
-- add_column(:hosts, :sp_ip, :string, {:default=>"", :limit=>15})
   -> 0.0451s
-- add_column(:hosts, :sp_name, :string, {:default=>""})
   -> 0.0454s
-- add_column(:hosts, :root_pass, :string, {:limit=>64})
   -> 0.0546s
-- add_column(:hosts, :serial, :string, {:limit=>12})
   -> 0.0473s
-- add_column(:hosts, :puppetmaster, :string)
   -> 0.0319s
-- add_column(:hosts, :puppet_status, :integer, {:null=>false, :default=>0})
   -> 0.0719s
-- add_column(:hosts, :domain_id, :integer)
   -> 0.0402s
-- add_column(:hosts, :architecture_id, :integer)
   -> 0.0337s
-- add_column(:hosts, :operatingsystem_id, :integer)
   -> 0.0359s
-- add_column(:hosts, :environment_id, :integer)
   -> 0.0390s
-- add_column(:hosts, :subnet_id, :integer)
   -> 0.0504s
-- add_column(:hosts, :sp_subnet_id, :integer)
   -> 0.0681s
-- add_column(:hosts, :ptable_id, :integer)
   -> 0.0444s
-- add_column(:hosts, :medium_id, :integer)
   -> 0.0792s
-- add_column(:hosts, :build, :boolean, {:default=>true})
   -> 0.1775s
-- add_column(:hosts, :comment, :text)
   -> 0.0358s
-- add_column(:hosts, :disk, :text)
   -> 0.0586s
-- add_column(:hosts, :installed_at, :datetime)
   -> 0.0402s
==  CreateHosts: migrated (2.4030s) ===========================================

==  AddAuditsTable: migrating =================================================
-- create_table(:audits, {:force=>true})
   -> 0.0256s
-- add_index(:audits, [:auditable_id, :auditable_type], {:name=>"auditable_index"})
   -> 0.0820s
-- add_index(:audits, [:user_id, :user_type], {:name=>"user_index"})
   -> 0.0367s
-- add_index(:audits, :created_at)
   -> 0.0410s
-- add_index(:audits, [:auditable_parent_id, :auditable_parent_type], {:name=>"auditable_parent_index"})
   -> 0.0499s
==  AddAuditsTable: migrated (0.2356s) ========================================

==  CreateArchitectures: migrating ============================================
-- create_table(:architectures)
   -> 0.0318s
-- create_table(:architectures_operatingsystems, {:id=>false})
   -> 0.0199s
==  CreateArchitectures: migrated (0.0519s) ===================================

==  CreateMedia: migrating ====================================================
-- create_table(:media)
   -> 0.0214s
==  CreateMedia: migrated (0.0480s) ===========================================

==  CreateDomains: migrating ==================================================
-- create_table(:domains)
   -> 0.0320s
==  CreateDomains: migrated (0.0321s) =========================================

==  CreateSubnets: migrating ==================================================
-- create_table(:subnets)
   -> 0.0210s
==  CreateSubnets: migrated (0.0211s) =========================================

==  CreateOperatingsystems: migrating =========================================
-- create_table(:operatingsystems)
   -> 0.0300s
==  CreateOperatingsystems: migrated (0.0300s) ================================

==  CreateModels: migrating ===================================================
-- create_table(:models)
   -> 0.0218s
-- add_column(:hosts, :model_id, :integer)
   -> 0.0366s
==  CreateModels: migrated (0.0586s) ==========================================

==  CreateEnvironments: migrating =============================================
-- create_table(:environments)
   -> 0.0188s
-- create_table(:environments_puppetclasses, {:id=>false})
   -> 0.0246s
==  CreateEnvironments: migrated (0.0435s) ====================================

==  CreateReports: migrating ==================================================
-- create_table(:reports)
   -> 0.0221s
==  CreateReports: migrated (0.0222s) =========================================

==  CreatePtables: migrating ==================================================
-- create_table(:ptables)
   -> 0.0498s
-- create_table(:operatingsystems_ptables, {:id=>false})
   -> 0.0319s
==  CreatePtables: migrated (0.0979s) =========================================

==  CreatePuppetclasses: migrating ============================================
-- create_table(:puppetclasses)
   -> 0.0226s
-- create_table(:hosts_puppetclasses, {:id=>false})
   -> 0.0189s
-- create_table(:operatingsystems_puppetclasses, {:id=>false})
   -> 0.0356s
==  CreatePuppetclasses: migrated (0.0773s) ===================================

==  CreateParameters: migrating ===============================================
-- create_table(:parameters)
   -> 0.0287s
==  CreateParameters: migrated (0.0288s) ======================================

==  CreateAuthSources: migrating ==============================================
-- create_table(:auth_sources)
   -> 0.0412s
==  CreateAuthSources: migrated (0.0413s) =====================================

==  CreateHostgroups: migrating ===============================================
-- create_table(:hostgroups)
   -> 0.0186s
-- create_table(:hostgroups_puppetclasses, {:id=>false})
   -> 0.0176s
-- add_column(:hosts, :hostgroup_id, :integer)
   -> 0.0390s
-- add_column(:parameters, :hostgroup_id, :integer)
   -> 0.0282s
==  CreateHostgroups: migrated (0.1037s) ======================================

==  AddTypeToParameter: migrating =============================================
-- add_column(:parameters, :type, :string)
   -> 0.0282s
==  AddTypeToParameter: migrated (0.0283s) ====================================

==  AddDomainToParameter: migrating ===========================================
-- add_column(:parameters, :domain_id, :integer)
   -> 0.0518s
==  AddDomainToParameter: migrated (0.0519s) ==================================

==  ChangeReportFieldTypeToText: migrating ====================================
-- execute("ALTER TABLE reports MODIFY log text;")
   -> 0.0372s
==  ChangeReportFieldTypeToText: migrated (0.0374s) ===========================

==  ChangeHostBuildDefaultToFalse: migrating ==================================
-- change_column(:hosts, :build, :boolean, {:default=>false})
   -> 0.0359s
==  ChangeHostBuildDefaultToFalse: migrated (0.0415s) =========================

==  AddIndexToHost: migrating =================================================
-- add_index("hosts", "last_report")
   -> 0.0421s
-- add_index("hosts", "installed_at")
   -> 0.0485s
-- add_index("hosts", "puppet_status")
   -> 0.0912s
-- add_index("hosts", :domain_id, {:name=>"host_domain_id_ix"})
   -> 0.0566s
-- add_index("hosts", :architecture_id, {:name=>"host_arch_id_ix"})
   -> 0.0503s
-- add_index("hosts", :operatingsystem_id, {:name=>"host_os_id_ix"})
   -> 0.0784s
-- add_index("hosts", :environment_id, {:name=>"host_env_id_ix"})
   -> 0.0939s
-- add_index("hosts", :medium_id, {:name=>"host_medium_id_ix"})
   -> 0.0630s
-- add_index("hosts", :hostgroup_id, {:name=>"host_group_id_ix"})
   -> 0.0648s
==  AddIndexToHost: migrated (0.5896s) ========================================

==  AddIndexToParameters: migrating ===========================================
-- add_index(:parameters, [:host_id, :type])
   -> 0.0344s
-- add_index(:parameters, [:hostgroup_id, :type])
   -> 0.0395s
-- add_index(:parameters, [:domain_id, :type])
   -> 0.0387s
-- add_index(:parameters, :type)
   -> 0.0640s
==  AddIndexToParameters: migrated (0.1770s) ==================================

==  AddIndexToReports: migrating ==============================================
-- add_index(:reports, [:reported_at, :host_id])
   -> 0.0380s
==  AddIndexToReports: migrated (0.0381s) =====================================

==  CreateUsers: migrating ====================================================
-- create_table(:users)
   -> 0.0189s
==  CreateUsers: migrated (0.0190s) ===========================================

==  CreateSessions: migrating =================================================
-- create_table(:sessions)
   -> 0.0174s
-- add_index(:sessions, :session_id)
   -> 0.0402s
-- add_index(:sessions, :updated_at)
   -> 0.0702s
==  CreateSessions: migrated (0.1280s) ========================================

==  AddStatusToReport: migrating ==============================================
-- add_column(:reports, :status, :integer)
   -> 0.0360s
-- add_index(:reports, :status)
   -> 0.0377s
-- add_index(:reports, :host_id)
   -> 0.0561s
-- add_index(:reports, :reported_at)
   -> 0.0397s
==  AddStatusToReport: migrated (0.1698s) =====================================

==  CalcExistingReports: migrating ============================================
==  CalcExistingReports: migrated (0.0020s) ===================================

==  CreateLookupKeys: migrating ===============================================
-- create_table(:lookup_keys)
   -> 0.0161s
-- add_index(:lookup_keys, :key)
   -> 0.0434s
==  CreateLookupKeys: migrated (0.0596s) ======================================

==  CreateLookupValues: migrating =============================================
-- create_table(:lookup_values)
   -> 0.0188s
-- add_index(:lookup_values, :priority)
   -> 0.0274s
==  CreateLookupValues: migrated (0.0464s) ====================================

==  ChangeMysqlReportsColumn: migrating =======================================
-- execute("ALTER TABLE reports MODIFY log mediumtext;")
   -> 0.0814s
==  ChangeMysqlReportsColumn: migrated (0.0816s) ==============================

==  AddFamilyToOs: migrating ==================================================
-- add_column(:operatingsystems, :family_id, :integer)
   -> 0.0512s
==  AddFamilyToOs: migrated (0.0528s) =========================================

==  UpdateFactNamesAndValuesToBin: migrating ==================================
-- execute("ALTER TABLE fact_names MODIFY name varchar(255) COLLATE utf8_bin NOT NULL")
   -> 0.0378s
-- execute("ALTER TABLE fact_values MODIFY value varchar(255) COLLATE utf8_bin NOT NULL")
   -> 0.0474s
==  UpdateFactNamesAndValuesToBin: migrated (0.0854s) =========================

==  AddReleasenameToOs: migrating =============================================
-- add_column(:operatingsystems, :release_name, :string, {:limit=>64})
   -> 0.0354s
==  AddReleasenameToOs: migrated (0.0424s) ====================================

==  CreateUsergroups: migrating ===============================================
-- create_table(:usergroups)
   -> 0.0171s
-- create_table(:usergroup_members)
   -> 0.0229s
==  CreateUsergroups: migrated (0.0401s) ======================================

==  AddOwnerToHosts: migrating ================================================
-- add_column(:hosts, :owner_id, :integer)
   -> 0.1006s
-- add_column(:hosts, :owner_type, :string)
   -> 0.0751s
==  AddOwnerToHosts: migrated (0.2099s) =======================================

==  AddUbuntuCustomLvmPtable: migrating =======================================
==  AddUbuntuCustomLvmPtable: migrated (0.0213s) ==============================

==  CreateMediaOperatingsystemsAndMigrateData: migrating ======================
-- create_table(:media_operatingsystems, {:id=>false})
   -> 0.0178s
-- remove_column(:media, :operatingsystem_id)
   -> 0.0303s
==  CreateMediaOperatingsystemsAndMigrateData: migrated (0.0525s) =============

==  MigrateInstallationMediumUri: migrating ===================================
==  MigrateInstallationMediumUri: migrated (0.0898s) ==========================

==  SimplifyParameters: migrating =============================================
-- remove_index(:parameters, [:host_id, :type])
   -> 0.0385s
-- remove_index(:parameters, [:hostgroup_id, :type])
   -> 0.0589s
-- remove_index(:parameters, [:domain_id, :type])
   -> 0.0292s
-- rename_column(:parameters, :host_id, :reference_id)
   -> 0.0441s
-- add_index(:parameters, [:reference_id, :type])
   -> 0.0395s
-- Everything migrated ok so we remove the old columns
-- remove_column(:parameters, :hostgroup_id)
   -> 0.0510s
-- remove_column(:parameters, :domain_id)
   -> 0.0288s
==  SimplifyParameters: migrated (0.3003s) ====================================

==  UpdateOsMinor: migrating ==================================================
-- change_column(:operatingsystems, :minor, :string, {:null=>false, :default=>"", :limit=>16})
   -> 0.0244s
==  UpdateOsMinor: migrated (0.0274s) =========================================

==  ChangeFamilyInOs: migrating ===============================================
-- add_column(:operatingsystems, :type, :string, {:limit=>16})
   -> 0.0248s
-- add_index(:operatingsystems, :type)
   -> 0.0274s
-- remove_column(:operatingsystems, :family_id)
   -> 0.0304s
==  ChangeFamilyInOs: migrated (0.0842s) ======================================

==  CreateNotices: migrating ==================================================
-- create_table(:notices)
   -> 0.0232s
-- create_table(:user_notices, {:id=>false})
   -> 0.0156s
==  CreateNotices: migrated (0.0389s) =========================================

==  AddInternalAuth: migrating ================================================
-- add_column(:users, :password_hash, :string, {:limit=>128})
   -> 0.0447s
-- add_column(:users, :password_salt, :string, {:limit=>128})
   -> 0.0228s
-- ****************************************************************************************
-- The newly created internal account named admin has been allocated a password of 'changeme'
-- Set this to something else in the settings/users page
-- ****************************************************************************************
==  AddInternalAuth: migrated (0.1215s) =======================================

==  CreateRoles: migrating ====================================================
-- add_column(:users, :role_id, :integer)
   -> 0.0497s
-- create_table("roles", {:force=>true})
   -> 0.0201s
-- create_table(:user_roles)
   -> 0.0190s
==  CreateRoles: migrated (0.0891s) ===========================================

==  AddUserDomainsAndHostgroups: migrating ====================================
-- create_table(:user_domains, {:id=>false})
   -> 0.0167s
-- create_table(:user_hostgroups, {:id=>false})
   -> 0.0143s
==  AddUserDomainsAndHostgroups: migrated (0.0311s) ===========================

==  CreateUserFacts: migrating ================================================
-- create_table(:user_facts)
   -> 0.0241s
==  CreateUserFacts: migrated (0.0242s) =======================================

==  AddEnabledToHosts: migrating ==============================================
-- add_column(:hosts, :enabled, :boolean, {:default=>true})
   -> 0.0734s
==  AddEnabledToHosts: migrated (0.0735s) =====================================

==  AddMyBooleansToUser: migrating ============================================
-- add_column(:users, :domains_andor, :string, {:default=>"or", :limit=>3})
   -> 0.0834s
-- add_column(:users, :hostgroups_andor, :string, {:default=>"or", :limit=>3})
   -> 0.0359s
-- add_column(:users, :facts_andor, :string, {:default=>"or", :limit=>3})
   -> 0.0343s
==  AddMyBooleansToUser: migrated (0.1538s) ===================================

==  CreateMessages: migrating =================================================
-- create_table(:messages)
   -> 0.0253s
-- execute("ALTER TABLE messages ENGINE = MYISAM")
   -> 0.0335s
-- execute("ALTER TABLE messages ADD FULLTEXT (value)")
   -> 0.1502s
==  CreateMessages: migrated (0.2093s) ========================================

==  CreateSources: migrating ==================================================
-- create_table(:sources)
   -> 0.0199s
-- execute("ALTER TABLE sources ENGINE = MYISAM")
   -> 0.0104s
-- execute("ALTER TABLE sources ADD FULLTEXT (value)")
   -> 0.0049s
==  CreateSources: migrated (0.0355s) =========================================

==  CreateLogs: migrating =====================================================
-- create_table(:logs)
   -> 0.0191s
-- add_index(:logs, :report_id)
   -> 0.0299s
-- add_index(:logs, :message_id)
   -> 0.0335s
-- add_index(:logs, :level_id)
   -> 0.0390s
==  CreateLogs: migrated (0.1219s) ============================================

==  AddMetricsToReport: migrating =============================================
-- add_column(:reports, :metrics, :text)
   -> 0.0530s
==  AddMetricsToReport: migrated (0.0531s) ====================================

==  ConvertReports: migrating =================================================
-- About to convert all of the 0 reports log field into a more DB optimized way... this might take a while.....
-- remove_column(:reports, :log)
   -> 0.0572s
==  ConvertReports: migrated (0.0610s) ========================================

==  AddOwnedFilterToUser: migrating ===========================================
-- add_column(:users, :filter_on_owner, :boolean)
   -> 0.0426s
==  AddOwnedFilterToUser: migrated (0.0427s) ==================================

==  CorrectMedia: migrating ===================================================
-- table_exists?(:medias)
   -> 0.0018s
==  CorrectMedia: migrated (0.0019s) ==========================================

==  CreateConfigTemplates: migrating ==========================================
-- create_table(:config_templates)
   -> 0.0384s
==  CreateConfigTemplates: migrated (0.0385s) =================================

==  CreateTemplateCombinations: migrating =====================================
-- create_table(:template_combinations)
   -> 0.0236s
==  CreateTemplateCombinations: migrated (0.0237s) ============================

==  CreateOperatingsystemsConfigTemplates: migrating ==========================
-- create_table(:config_templates_operatingsystems, {:id=>false})
   -> 0.0231s
==  CreateOperatingsystemsConfigTemplates: migrated (0.0232s) =================

==  CreateTemplateKinds: migrating ============================================
-- create_table(:template_kinds)
   -> 0.0243s
==  CreateTemplateKinds: migrated (0.0738s) ===================================

==  CreateOsDefaultTemplates: migrating =======================================
-- create_table(:os_default_templates)
   -> 0.0175s
==  CreateOsDefaultTemplates: migrated (0.0176s) ==============================

==  AddDefaultTemplates: migrating ============================================
==  AddDefaultTemplates: migrated (0.2295s) ===================================

==  AddSubSystemsToSubnet: migrating ==========================================
-- add_column(:subnets, :dhcp_id, :integer)
   -> 0.0305s
-- add_column(:subnets, :tftp_id, :integer)
   -> 0.1517s
-- rename_column(:subnets, :number, :network)
   -> 0.0542s
==  AddSubSystemsToSubnet: migrated (0.2367s) =================================

==  CreateProxies: migrating ==================================================
-- create_table(:smart_proxies)
   -> 0.0177s
==  CreateProxies: migrated (0.0178s) =========================================

==  AddProxyToDomain: migrating ===============================================
-- add_column(:domains, :dns_id, :integer)
   -> 0.0741s
-- remove_column(:domains, :dnsserver)
   -> 0.0353s
-- remove_column(:domains, :gateway)
   -> 0.0234s
==  AddProxyToDomain: migrated (0.1332s) ======================================

==  AddGrubbyTemplate: migrating ==============================================
==  AddGrubbyTemplate: migrated (0.0162s) =====================================

==  CreateHypervisors: migrating ==============================================
-- create_table(:hypervisors)
   -> 0.0159s
==  CreateHypervisors: migrated (0.0161s) =====================================

==  AddHostGroupDefaults: migrating ===========================================
-- add_column(:hostgroups, :environment_id, :integer)
   -> 0.0427s
-- add_column(:hostgroups, :operatingsystem_id, :integer)
   -> 0.0226s
-- add_column(:hostgroups, :architecture_id, :integer)
   -> 0.0218s
-- add_column(:hostgroups, :medium_id, :integer)
   -> 0.0241s
-- add_column(:hostgroups, :ptable_id, :integer)
   -> 0.0243s
-- add_column(:hostgroups, :root_pass, :string)
   -> 0.0325s
-- add_column(:hostgroups, :puppetmaster, :string)
   -> 0.0235s
==  AddHostGroupDefaults: migrated (0.1922s) ==================================

==  AddDefaultPxeMenuTemplate: migrating ======================================
==  AddDefaultPxeMenuTemplate: migrated (0.0167s) =============================

==  CreateProxyFeatures: migrating ============================================
-- create_table(:features)
   -> 0.0195s
-- create_table(:features_smart_proxies, {:id=>false})
   -> 0.0202s
==  CreateProxyFeatures: migrated (0.0779s) ===================================

==  ChangePuppetmasterColumn: migrating =======================================
-- rename_column(:hosts, :puppetmaster, :puppetmaster_name)
   -> 0.1137s
-- add_column(:hosts, :puppetproxy_id, :integer)
   -> 0.0722s
-- rename_column(:hostgroups, :puppetmaster, :puppetmaster_name)
   -> 0.0385s
-- add_column(:hostgroups, :puppetproxy_id, :integer)
   -> 0.0252s
==  ChangePuppetmasterColumn: migrated (0.2501s) ==============================

==  AddManagedToHosts: migrating ==============================================
-- add_column(:hosts, :managed, :boolean)
   -> 0.0730s
==  AddManagedToHosts: migrated (0.0742s) =====================================

==  RevertFaceNamesAndValuesToTextRecords: migrating ==========================
-- execute("ALTER TABLE fact_values MODIFY value text COLLATE utf8_bin NOT NULL;")
   -> 0.0455s
==  RevertFaceNamesAndValuesToTextRecords: migrated (0.0458s) =================

==  AddPriorityToParameter: migrating =========================================
-- add_column(:parameters, :priority, :integer)
   -> 0.0422s
==  AddPriorityToParameter: migrated (0.0455s) ================================

==  AddMediaPathToMedium: migrating ===========================================
-- add_column(:media, :media_path, :string, {:limit=>128})
   -> 0.0621s
-- add_column(:media, :config_path, :string, {:limit=>128})
   -> 0.0262s
-- add_column(:media, :image_path, :string, {:limit=>128})
   -> 0.0570s
==  AddMediaPathToMedium: migrated (0.1457s) ==================================

==  AddImageToHost: migrating =================================================
-- add_column(:hosts, :use_image, :boolean)
   -> 0.0704s
-- add_column(:hosts, :image_file, :string, {:limit=>128})
   -> 0.0734s
-- add_column(:hostgroups, :use_image, :boolean)
   -> 0.0477s
-- add_column(:hostgroups, :image_file, :string, {:limit=>128})
   -> 0.0314s
==  AddImageToHost: migrated (0.2234s) ========================================

==  RemoveUnusedFieldsFromPuppetClasses: migrating ============================
-- remove_column(:puppetclasses, :nameindicator)
   -> 0.0307s
-- remove_column(:puppetclasses, :operatingsystem_id)
   -> 0.0258s
==  RemoveUnusedFieldsFromPuppetClasses: migrated (0.0567s) ===================

==  AddTableBookmarks: migrating ==============================================
-- create_table(:bookmarks, {:force=>true})
   -> 0.0190s
-- add_index(:bookmarks, :name)
   -> 0.0385s
-- add_index(:bookmarks, :controller)
   -> 0.0319s
-- add_index(:bookmarks, [:owner_id, :owner_type])
   -> 0.0403s
==  AddTableBookmarks: migrated (0.1717s) =====================================

==  AddSolarisTemplates: migrating ============================================
==  AddSolarisTemplates: migrated (0.0722s) ===================================

==  AddSolarisDisks: migrating ================================================
==  AddSolarisDisks: migrated (0.0396s) =======================================

==  AddLookUpKeyIdToPuppetClass: migrating ====================================
-- add_column(:lookup_keys, :puppetclass_id, :integer)
   -> 0.0331s
-- add_index(:lookup_keys, :puppetclass_id)
   -> 0.0330s
-- add_column(:lookup_keys, :default_value, :string)
   -> 0.0364s
-- add_column(:lookup_keys, :path, :string)
   -> 0.0321s
-- add_index(:lookup_keys, :path)
   -> 0.0399s
-- add_column(:lookup_keys, :description, :string)
   -> 0.0569s
-- add_column(:lookup_keys, :validator_type, :string)
   -> 0.0556s
-- add_column(:lookup_keys, :validator_rule, :string)
   -> 0.0399s
-- rename_column(:lookup_values, :priority, :match)
   -> 0.0296s
-- add_index(:lookup_values, :match)
   -> 0.0308s
==  AddLookUpKeyIdToPuppetClass: migrated (0.3879s) ===========================

==  AddSparcInfoToModel: migrating ============================================
-- add_column(:models, :vendor_class, :string, {:limit=>32})
   -> 0.0427s
-- add_column(:models, :hardware_model, :string, {:limit=>16})
   -> 0.0244s
==  AddSparcInfoToModel: migrated (0.0673s) ===================================

==  AddAncestryToHostgroup: migrating =========================================
-- add_column(:hostgroups, :ancestry, :string)
   -> 0.0312s
-- add_index(:hostgroups, :ancestry)
   -> 0.0341s
==  AddAncestryToHostgroup: migrated (0.0654s) ================================

==  CreateSettings: migrating =================================================
-- create_table(:settings)
   -> 0.0255s
-- add_index(:settings, :name, {:unique=>true})
   -> 0.0747s
==  CreateSettings: migrated (0.1004s) ========================================

==  UpdateAuditsTable: migrating ==============================================
==  UpdateAuditsTable: migrated (0.0019s) =====================================

==  CreateHostClass: migrating ================================================
-- rename_table(:hosts_puppetclasses, :host_classes)
   -> 0.0049s
-- add_column(:host_classes, :id, :primary_key)
   -> 0.0474s
==  CreateHostClass: migrated (0.0524s) =======================================

==  AddSuseTemplates: migrating ===============================================
==  AddSuseTemplates: migrated (0.1497s) ======================================

==  AddVmDefaultsToHostgroup: migrating =======================================
-- add_column(:hostgroups, :vm_defaults, :text)
   -> 0.0357s
==  AddVmDefaultsToHostgroup: migrated (0.0357s) ==============================

==  AddSubnetAndDomainToHostGroups: migrating =================================
-- add_column(:hostgroups, :subnet_id, :integer)
   -> 0.0338s
-- add_column(:hostgroups, :domain_id, :integer)
   -> 0.0402s
==  AddSubnetAndDomainToHostGroups: migrated (0.0742s) ========================

==  RenameChangesToAuditedChanges: migrating ==================================
-- rename_column(:audits, :changes, :audited_changes)
   -> 0.0430s
==  RenameChangesToAuditedChanges: migrated (0.0431s) =========================

==  AddRemoteAddressToAudits: migrating =======================================
-- add_column(:audits, :remote_address, :string)
   -> 0.0611s
==  AddRemoteAddressToAudits: migrated (0.0613s) ==============================

==  RenameParentToAssociation: migrating ======================================
-- rename_column(:audits, :auditable_parent_id, :association_id)
   -> 0.0543s
-- rename_column(:audits, :auditable_parent_type, :association_type)
   -> 0.0659s
==  RenameParentToAssociation: migrated (0.1203s) =============================

==  AddGatewayAndDnsToSubnets: migrating ======================================
-- add_column(:subnets, :gateway, :string)
   -> 0.0338s
-- add_column(:subnets, :dns_primary, :string)
   -> 0.0324s
-- add_column(:subnets, :dns_secondary, :string)
   -> 0.0290s
==  AddGatewayAndDnsToSubnets: migrated (0.0954s) =============================

==  EnsureAllHostnamesAreLowercase: migrating =================================
-- execute("UPDATE hosts SET name=LOWER(name)")
   -> 0.0006s
==  EnsureAllHostnamesAreLowercase: migrated (0.0007s) ========================

==  AddFromAndToRangesToSubnets: migrating ====================================
-- add_column(:subnets, :from, :string)
   -> 0.0404s
-- add_column(:subnets, :to, :string)
   -> 0.0287s
-- remove_column(:subnets, :ranges)
   -> 0.0218s
==  AddFromAndToRangesToSubnets: migrated (0.0911s) ===========================

==  CreateSubnetDomain: migrating =============================================
-- create_table(:subnet_domains)
   -> 0.0211s
-- remove_column(:subnets, :domain_id)
   -> 0.0363s
==  CreateSubnetDomain: migrated (0.0772s) ====================================

==  CreateComputeResources: migrating =========================================
-- create_table(:compute_resources)
   -> 0.0173s
==  CreateComputeResources: migrated (0.0174s) ================================

==  AddUuidAndComputeIdToHost: migrating ======================================
-- add_column(:hosts, :uuid, :string)
   -> 0.1011s
-- add_column(:hosts, :compute_resource_id, :integer)
   -> 0.0729s
==  AddUuidAndComputeIdToHost: migrated (0.1742s) =============================

==  AddWindowsTemplates: migrating ============================================
==  AddWindowsTemplates: migrated (0.0642s) ===================================

==  AddPuppetMasterProxyToHostAndHostGroup: migrating =========================
-- rename_column(:hosts, :puppetproxy_id, :puppet_ca_proxy_id)
   -> 0.0825s
-- add_column(:hosts, :puppet_proxy_id, :integer)
   -> 0.0931s
-- rename_column(:hostgroups, :puppetproxy_id, :puppet_ca_proxy_id)
   -> 0.0310s
-- add_column(:hostgroups, :puppet_proxy_id, :integer)
   -> 0.0321s
-- remove_column(:hosts, :puppetmaster_name)
   -> 0.0687s
-- remove_column(:hostgroups, :puppetmaster_name)
   -> 0.0298s
==  AddPuppetMasterProxyToHostAndHostGroup: migrated (0.3790s) ================

==  UpdateReportFieldToLargeInt: migrating ====================================
-- change_column(:reports, :status, :bigint)
   -> 0.0439s
-- change_column(:hosts, :puppet_status, :bigint)
   -> 0.1435s
==  UpdateReportFieldToLargeInt: migrated (0.1876s) ===========================

==  CreateImages: migrating ===================================================
-- create_table(:images)
   -> 0.0197s
==  CreateImages: migrated (0.0198s) ==========================================

==  AddCertNameToHost: migrating ==============================================
-- add_column(:hosts, :certname, :string)
   -> 0.0701s
-- add_index("hosts", :certname)
   -> 0.0732s
==  AddCertNameToHost: migrated (0.1434s) =====================================

==  CreateKeyPairs: migrating =================================================
-- create_table(:key_pairs)
   -> 0.0278s
==  CreateKeyPairs: migrated (0.0279s) ========================================

==  AddDnsIdToSubnet: migrating ===============================================
-- add_column(:subnets, :dns_id, :integer)
   -> 0.0287s
==  AddDnsIdToSubnet: migrated (0.0288s) ======================================

==  AddImageIdToHost: migrating ===============================================
-- add_column(:hosts, :image_id, :integer)
   -> 0.1118s
==  AddImageIdToHost: migrated (0.1119s) ======================================

==  AddUserComputeResources: migrating ========================================
-- create_table(:user_compute_resources, {:id=>false})
   -> 0.0203s
==  AddUserComputeResources: migrated (0.0204s) ===============================

==  AddComputeResourcesBooleanToUser: migrating ===============================
-- add_column(:users, :compute_resources_andor, :string, {:default=>"or", :limit=>3})
   -> 0.0444s
==  AddComputeResourcesBooleanToUser: migrated (0.0445s) ======================

==  AddEpelSnippets: migrating ================================================
==  AddEpelSnippets: migrated (0.0154s) =======================================

==  ConvertParamsToText: migrating ============================================
-- change_column("parameters", :value, :text, {:limit=>false})
   -> 0.0397s
-- change_column("lookup_values", :value, :text, {:limit=>false})
   -> 0.0347s
==  ConvertParamsToText: migrated (0.0746s) ===================================

==  ChangeBookmarkColumnToText: migrating =====================================
-- change_column("bookmarks", :query, :text, {:limit=>false})
   -> 0.0658s
==  ChangeBookmarkColumnToText: migrated (0.0660s) ============================

==  RenameAssociationToAssociated: migrating ==================================
-- index_exists?(:audits, [:association_id, :association_type], {:name=>"association_index"})
   -> 0.0009s
-- rename_column(:audits, :association_id, :associated_id)
   -> 0.0540s
-- rename_column(:audits, :association_type, :associated_type)
   -> 0.0638s
-- add_index(:audits, [:associated_id, :associated_type], {:name=>"associated_index"})
   -> 0.0487s
==  RenameAssociationToAssociated: migrated (0.1677s) =========================

==  FixAuditableType: migrating ===============================================
-- execute("UPDATE audits SET auditable_type='Host' WHERE auditable_type='Puppet::Rails::Host'")
   -> 0.0006s
==  FixAuditableType: migrated (0.0006s) ======================================

==  FixAssociatedType: migrating ==============================================
-- execute("UPDATE audits SET associated_type='Host' WHERE associated_type='Puppet::Rails::Host'")
   -> 0.0005s
==  FixAssociatedType: migrated (0.0006s) =====================================

==  AddOkHostsBookMark: migrating =============================================
==  AddOkHostsBookMark: migrated (0.0169s) ====================================

==  AddAuditableNameAndAssociatedNameToAudit: migrating =======================
-- column_exists?(:audits, :auditable_name)
   -> 0.0015s
-- add_column(:audits, :auditable_name, :string)
   -> 0.0631s
-- column_exists?(:audits, :associated_name)
   -> 0.0028s
-- add_column(:audits, :associated_name, :string)
   -> 0.0784s
-- index_exists?(:audits, :id)
   -> 0.0010s
-- add_index(:audits, :id)
   -> 0.0580s
-- About to review all audits, this may take a while...
==  AddAuditableNameAndAssociatedNameToAudit: migrated (0.2093s) ==============

==  AddOsFamilyToMedia: migrating =============================================
-- add_column(:media, :os_family, :string)
   -> 0.0330s
==  AddOsFamilyToMedia: migrated (0.0461s) ====================================

==  AddOsFamilyToPtable: migrating ============================================
-- add_column(:ptables, :os_family, :string)
   -> 0.0338s
-- remove_column(:ptables, :operatingsystem_id)
   -> 0.0274s
==  AddOsFamilyToPtable: migrated (0.0798s) ===================================

==  AddAttributesToComputeResources: migrating ================================
-- add_column(:compute_resources, :attrs, :text)
   -> 0.0360s
==  AddAttributesToComputeResources: migrated (0.0361s) =======================

[root@lpr-mgmt01 foreman]# RAILS_ENV=production bundle exec rake db:migrate
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8
==  AddAttributesToComputeResources: migrating ================================
-- add_column(:compute_resources, :attrs, :text)
rake aborted!
An error has occurred, all later migrations canceled:

Mysql::Error: Duplicate column name 'attrs': ALTER TABLE `compute_resources` ADD `attrs` text

Tasks: TOP => db:migrate
(See full trace by running task with --trace)
[root@lpr-mgmt01 foreman]# RAILS_ENV=production bundle exec rake db:migrate:status
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:10: warning: already initialized constant ENC_NONE
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:11: warning: already initialized constant ENC_EUC
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:12: warning: already initialized constant ENC_SJIS
/usr/lib/ruby/gems/1.8/gems/ruby_parser-2.3.1/lib/ruby_parser_extras.rb:13: warning: already initialized constant ENC_UTF8

database: foreman

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20101018120621  Create logs
   up     20091219132839  Create lookup values
   up     20100914092104  Add my booleans to user
   up     20120110113051  Create subnet domain
   up     20120506143325  Create images
   up     20100625155400  Create notices
   up     20090907045751  Add domain to parameter
   up     20110712070522  Create host class
   up     20120127141602  Add windows templates
   up     20100325142616  Update fact names and values to bin
   up     20111124095054  Add remote address to audits
   up     20100523141204  Create media operatingsystems and migrate data
   up     20100822072954  Create user facts
   up     20101202104444  Add proxy to domain
   up     20090905155444  Add type to parameter
   up     20090715143858  Create architectures
   up     20120529113900  Add user compute resources
   up     20110404150043  Add media path to medium
   up     20110407091150  Add image to host
   up     20090729132209  Create reports
   up     20110420150600  Add solaris templates
   up     20090920064156  Add index to parameters
   up     20100524080302  Migrate installation medium uri
   up     20110301154453  Add managed to hosts
   up     20101122132041  Create operatingsystems config templates
   up     20100414125652  Add releasename to os
   up     20111124095053  Rename changes to audited changes
   up     20100701081235  Add user domains and hostgroups
   up     20100629093200  Create roles
   up     20120624081510  Add auditable name and associated name to audit
   up     20090720134126  Create operatingsystems
   up     20120613082125  Rename association to associated
   up     20120509131302  Add cert name to host
   up     20090802062223  Create puppetclasses
   up     20101103150254  Add owned filter to user
   up     20090714132448  Create hosts
   up     20090730152224  Create ptables
  down    20120705130038  Add attributes to compute resources
   up     20110412103238  Remove unused fields from puppet classes
   up     20101130100315  Create proxies
   up     20090920065522  Add index to reports
   up     20090718064254  Create subnets
   up     20120122131037  Create compute resources
   up     20120607074318  Convert params to text
   up     20101125153351  Add default templates
   up     20110327123639  Add priority to parameter
   up     20110725142054  Add suse templates
   up     20110616080444  Add look up key id to puppet class
   up     20090905150131  Create hostgroups
   up     20100525094200  Simplify parameters
   up     20120521142924  Add dns id to subnet
   up     20110619130336  Add ancestry to hostgroup
   up     20100419151910  Add owner to hosts
   up     20090718060746  Create domains
   up     20100823181036  Add enabled to hosts
   up     20090920043521  Add index to host
   up     20101213085232  Add grubby template
   up     20101121080425  Create config templates
   up     20110213104226  Create proxy features
   up     20090722141107  Create environments
   up     20101121135521  Create template combinations
   up     20100616114400  Change family in os
   up     20091214045923  Calc existing reports
   up     20091012135004  Create users
   up     20090722140138  Create models
   up     20110617190131  Add sparc info to model
   up     20110128130239  Add default pxe menu template
   up     20120624094034  Add os family to ptable
   up     20100601221000  Update os minor
   up     20120510113417  Create key pairs
   up     20100310080727  Add family to os
   up     20100115021803  Change mysql reports column
   up     20110628115422  Create settings
   up     20110801090318  Add vm defaults to hostgroup
   up     20120102071633  Add from and to ranges to subnets
   up     20120604114049  Add epel snippets
   up     20110712064120  Update audits table
   up     20100628123400  Add internal auth
   up     20101123153303  Create os default templates
   up     20120523065531  Add image id to host
   up     20120126113850  Add uuid and compute id to host
   up     20091219132338  Create lookup keys
   up     20120624093958  Add os family to media
   up     20120529115814  Add compute resources boolean to user
   up     20120502105518  Update report field to large int
   up     20111227095806  Ensure all hostnames are lowercase
   up     20101123152150  Create template kinds
   up     20090916053824  Change host build default to false
   up     20101019183859  Convert reports
   up     20101019122857  Add metrics to report
   up     20090804130144  Create parameters
   up     20101018120603  Create sources
   up     20091016031017  Create sessions
   up     20120620124659  Fix associated type
   up     20110417102947  Add table bookmarks
   up     20090820130541  Create auth sources
   up     20120620124658  Fix auditable type
   up     20090714132449  Add audits table
   up     20111124095055  Rename parent to association
   up     20110216101848  Change puppetmaster column
   up     20101018120548  Create messages
   up     20100523114430  Add ubuntu custom lvm ptable
   up     20120612070100  Change bookmark column to text
   up     20090915030726  Change report field type to text
   up     20120313081913  Add puppet master proxy to host and host group
   up     20101130093613  Add sub systems to subnet
   up     20090717025820  Create media
   up     20110106132600  Create hypervisors
   up     20110117162722  Add host group defaults
   up     20100416124600  Create usergroups
   up     20110613141800  Add solaris disks
   up     20111205231500  Add gateway and dns to subnets
   up     20091022054108  Add status to report
   up     20110321070954  Revert face names and values to text records
   up     20101118130026  Correct media
   up     20120623002052  Add ok hosts book mark
   up     20110803114134  Add subnet and domain to host groups
   up     1               *** NO FILE ***
   up     2               *** NO FILE ***
   up     3               *** NO FILE ***
   up     4               *** NO FILE ***

@

Actions #1

Updated by Ohad Levy almost 12 years ago

  • Target version set to 1.0
Actions #2

Updated by Ohad Levy almost 12 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF