Thank you, Nitin. I think we should add one more item to the things that the script checks: modifications to the older upgrade paths shouldn¹t be allowed. If we already released 4.4, db upgrade changes should be accepted only to 4.4-4.5 scripts. If someone makes the changes to, say 4.3-4.4, the mailing list should be notified, and the changes have to be reverted.
-Alena. On 8/6/14, 11:03 AM, "Nitin Mehta" <nitin.me...@citrix.com> wrote: >This should be automated. We can't rely on the good intentions of dev. >All we need is a script which checks changes in the schema/java Upgrade >files and to sends a notification to the dev list. >Filed a bug for this - >https://issues.apache.org/jira/browse/CLOUDSTACK-7273 > > >Thanks, >-Nitin > >On 06/08/14 5:28 AM, "Koushik Das" <koushik....@citrix.com> wrote: > >>Thanks Saksham. This fixed the initial issue. But I noticed a new one, >>after destroying the last VR if you select the infra view it again >>results in exception. Not sure if anything else needs to be fixed. >> >>-----Original Message----- >>From: Saksham Srivastava [mailto:saksham.srivast...@citrix.com] >>Sent: Wednesday, 6 August 2014 3:37 PM >>To: dev@cloudstack.apache.org >>Subject: [DB-CHANGE] Infrastructure tab fails to load with db exception >> >>I remember we used to follow the practice of informing others in case db >>changes are committed, but we do not do it anymore. >>In case you are on dev setup on master branch post the following commit : >>commit b9d834e83854009483f6d061f9996e5ffaa9b883 >>Author: Nitin Mehta <nitin.me...@citrix.com> >>Date: Tue Aug 5 17:29:34 2014 -0700 >>CLOUDSTACK-4200: listSystemVMs API and listRouters API should return >>hypervisor property since dynamic scaling is not enabled for all the >>hypervisors and that action can be showed only for the hypervisors t >> >>Update your database with : >> >>DROP VIEW IF EXISTS `cloud`.`domain_router_view`; CREATE VIEW >>`cloud`.`domain_router_view` AS >> select >> vm_instance.id id, >> vm_instance.name name, >> account.id account_id, >> account.uuid account_uuid, >> account.account_name account_name, >> account.type account_type, >> domain.id domain_id, >> domain.uuid domain_uuid, >> domain.name domain_name, >> domain.path domain_path, >> projects.id project_id, >> projects.uuid project_uuid, >> projects.name project_name, >> vm_instance.uuid uuid, >> vm_instance.created created, >> vm_instance.state state, >> vm_instance.removed removed, >> vm_instance.pod_id pod_id, >> vm_instance.instance_name instance_name, >> host_pod_ref.uuid pod_uuid, >> data_center.id data_center_id, >> data_center.uuid data_center_uuid, >> data_center.name data_center_name, >> data_center.networktype data_center_type, >> data_center.dns1 dns1, >> data_center.dns2 dns2, >> data_center.ip6_dns1 ip6_dns1, >> data_center.ip6_dns2 ip6_dns2, >> host.id host_id, >> host.uuid host_uuid, >> host.name host_name, >> host.hypervisor_type, >> host.cluster_id cluster_id, >> vm_template.id template_id, >> vm_template.uuid template_uuid, >> service_offering.id service_offering_id, >> disk_offering.uuid service_offering_uuid, >> disk_offering.name service_offering_name, >> nics.id nic_id, >> nics.uuid nic_uuid, >> nics.network_id network_id, >> nics.ip4_address ip_address, >> nics.ip6_address ip6_address, >> nics.ip6_gateway ip6_gateway, >> nics.ip6_cidr ip6_cidr, >> nics.default_nic is_default_nic, >> nics.gateway gateway, >> nics.netmask netmask, >> nics.mac_address mac_address, >> nics.broadcast_uri broadcast_uri, >> nics.isolation_uri isolation_uri, >> vpc.id vpc_id, >> vpc.uuid vpc_uuid, >> networks.uuid network_uuid, >> networks.name network_name, >> networks.network_domain network_domain, >> networks.traffic_type traffic_type, >> networks.guest_type guest_type, >> async_job.id job_id, >> async_job.uuid job_uuid, >> async_job.job_status job_status, >> async_job.account_id job_account_id, >> domain_router.template_version template_version, >> domain_router.scripts_version scripts_version, >> domain_router.is_redundant_router is_redundant_router, >> domain_router.redundant_state redundant_state, >> domain_router.stop_pending stop_pending, >> domain_router.role role >> from >> `cloud`.`domain_router` >> inner join >> `cloud`.`vm_instance` ON vm_instance.id = domain_router.id >> inner join >> `cloud`.`account` ON vm_instance.account_id = account.id >> inner join >> `cloud`.`domain` ON vm_instance.domain_id = domain.id >> left join >> `cloud`.`host_pod_ref` ON vm_instance.pod_id = host_pod_ref.id >> left join >> `cloud`.`projects` ON projects.project_account_id = account.id >> left join >> `cloud`.`data_center` ON vm_instance.data_center_id = >>data_center.id >> left join >> `cloud`.`host` ON vm_instance.host_id = host.id >> left join >> `cloud`.`vm_template` ON vm_instance.vm_template_id = >>vm_template.id >> left join >> `cloud`.`service_offering` ON vm_instance.service_offering_id = >>service_offering.id >> left join >> `cloud`.`disk_offering` ON vm_instance.service_offering_id = >>disk_offering.id >> left join >> `cloud`.`nics` ON vm_instance.id = nics.instance_id and >>nics.removed is null >> left join >> `cloud`.`networks` ON nics.network_id = networks.id >> left join >> `cloud`.`vpc` ON domain_router.vpc_id = vpc.id and vpc.removed is >>null >> left join >> `cloud`.`async_job` ON async_job.instance_id = vm_instance.id >> and async_job.instance_type = 'DomainRouter' >> and async_job.job_status = 0; >> >> >> >>Thanks, >>Saksham >