Commit Graph

36795 Commits

Author SHA1 Message Date
Milamber 6051fa503a Fix a little issue from PR1610 if the db.properties file hasn't EOL character at the end of file
And some improvements about the dir/file using variables
2016-08-30 08:29:06 +01:00
Rohit Yadav fcc8dcd5d7
Merge branch '4.9' 2016-08-29 12:15:53 +05:30
Rohit Yadav b9801ef475 Merge pull request #1648 from shapeblue/4.9-fixmarvintest
test/integration: fix tearDown order in list_acl_ teststest/integration: fix tearDown order in list_acl_ tests

    In several of the list_acl_tests, the tests run for simulator only where
    in the (class) setup domains and accounts are created for the test. When the
    tests end the (class) teardown methods would delete and remove these resources.
    Due to dependence of one of the resources on the other, domain2 on domain1,
    domain2 needs to be removed/cleaned up before domain1. Due to this issue,
    several Travis test runs have failed in the past such as:

    https://travis-ci.org/apache/cloudstack/jobs/152610967
    https://travis-ci.org/apache/cloudstack/jobs/152610968

    Changing the order of cleanup fixes the tests.

/cc @jburwell @karuturi

The fix is specific to tests that run 'only' on simulator with Travis. A passing Travis run should be enough to validate the changes.

* pr/1648:
  test/integration: fix tearDown order in list_acl_ tests

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-29 12:10:34 +05:30
Rohit Yadav 38259a9a8c
Merge branch '4.9' 2016-08-26 23:49:35 +05:30
Rohit Yadav f7d6fea821
Merge pull request #1647 from apache/4.9-systemdubuntupkging
[lts] CLOUDSTACK-9462: Systemd support for Ubuntu 16.04Created this based on @wido 's origin PR #1541 .

Requesting for review and testing -- @jburwell @karuturi @wido @vincentbernat
@wido I think this change only brings systemd support to agent and usage packages, or does cloudstack-management pkg has systemd support too?

@blueorangutan package

- systemd: Add a /etc/sysconfig/cloudstack-* file

  This allows users to easily override variables passed to Java when
  starting up.

  It also creates a foundation for sharing the systemd service profile
  between CentOS and Ubuntu since it only requires the environment file
  to be changed.

- deb: Add Ubuntu 16.04 support

  Ubuntu 16.04 differs from Ubuntu 14.04 in a few ways:
  - systemd instead of sysvinit / upstart
  - Java 8 support

  The packaging now detects on which distribution it is being
  build and based on that it installs different files in the
  packages, but it also changes the Dependencies.

* pr/1647:
  CLOUDSTACK-9462: Refactor systemd scripts
  CLOUDSTACK-9462: Systemd support for Ubuntu 16.04

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-26 23:47:44 +05:30
Nathan Johnson 46df85c5bf CLOUDSTACK-9461
This converts the rbd raw format on disk to qcow2 for compression.
2016-08-26 09:52:24 -05:00
Rohit Yadav c8a52c94d2 CLOUDSTACK-9462: Refactor systemd scripts
Refactors and unifies usage of systemd script and default files across
CentOS and Ubuntu/Debian packaging system.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-26 15:19:58 +05:30
nvazquez 4297857e22 CLOUDSTACK-9428: Fix for CLOUDSTACK-9211 - Improve performance 2016-08-25 11:31:11 -03:00
Wido den Hollander 142772d524 CLOUDSTACK-9462: Systemd support for Ubuntu 16.04
- systemd: Add a /etc/sysconfig/cloudstack-* file

  This allows users to easily override variables passed to Java when
  starting up.

  It also creates a foundation for sharing the systemd service profile
  between CentOS and Ubuntu since it only requires the environment file
  to be changed.

- deb: Add Ubuntu 16.04 support

  Ubuntu 16.04 differs from Ubuntu 14.04 in a few ways:
  - systemd instead of sysvinit / upstart
  - Java 8 support

  The packaging now detects on which distribution it is being
  build and based on that it installs different files in the
  packages, but it also changes the Dependencies.

  Packages for Ubuntu 16.04 will require Java 8 as a JRE

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-25 14:18:51 +05:30
jeff fb7f5dfa37 Export UUID for zone creation event completion. 2016-08-24 16:19:16 +00:00
Rohit Yadav 3149705055
Merge branch '4.9' 2016-08-24 13:04:54 +05:30
Rohit Yadav d6e904520b Merge branch '4.8' into 4.9 2016-08-24 13:04:25 +05:30
Rohit Yadav 19f159a96b Merge pull request #1657 from shapeblue/4.8-usageserverfix
[lts/blocker] CLOUDSTACK-9467: Add symlink to key file for usage serverOn fresh installation, the usage server fails to start if the `key` file does
not exist in its classpath. The issue is reproducible in environments (such as Trillian)
where the usage server is installed before cloudstack-setup-databases has been called.
Before the cloudstack db has been setup, the key file does not exist at its
default location and installation of usage-server fails to add a symlink to the
key file.

This fix adds a default symlink to `/etc/cloudstack/management/key` if a
symlink/file does not already exist in the /etc/cloudstack/usage directory.

On new installation, in the post-installation steps it checks if the symlink
or file exists, and adds a symlink if it does not exist. On existing
installations, if symlink or file exists then it will skip adding symlink.

/cc @jburwell @PaulAngus @karuturi
@blueorangutan package

* pr/1657:
  CLOUDSTACK-9467: Add symlink to key file for usage server

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-24 13:04:02 +05:30
Rohit Yadav bcf79096f9 Merge branch '4.9' 2016-08-24 12:44:28 +05:30
Rohit Yadav 4c59a6b17e Merge branch '4.8' into 4.9 2016-08-24 12:43:37 +05:30
Rohit Yadav 3fa87626a2 Merge pull request #1656 from shapeblue/4.9-fk410to420fix
CLOUDSTACK-9466: Fix fk constraint failure in upgrade pathIn the 4.1.0-4.2.0 db upgrade path, it creates new tables to store secondary
(nfs) storage in image_store table and volumes in volume_store_ref table. In
the upgrade path, it first tries to migrate NFS storage pool where it excludes
storage pools which have been removed, but it migrates all the volumes without
checking if their storage pools have been removed. This causes fk constraint
failure as the volume/row being inserted refers to a storage pool which does
not exist in the image_store table.

The fix migrates all the nfs storage pools to image_store including removed
storage pools and in doing so migrates with the 'removed' field. This fixes
db upgrade for old pre-4.0 and 4.0/4.1 CloudStack clouds.

/cc @jburwell @PaulAngus @karuturi @abhinandanprateek @murali-reddy

* pr/1656:
  CLOUDSTACK-9466: Fix fk constraint failure in upgrade path

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-24 12:39:46 +05:30
Rohit Yadav 3a81a4498f Merge branch '4.9' 2016-08-24 12:15:24 +05:30
Rohit Yadav fa3fe7bb05 Merge pull request #1634 from shapeblue/patchviasocket-49-py26fix
[blocker] CLOUDSTACK-9452: add python-argparse dependency on el6,7 rpmsThe patchviasocket script was rewritten in Python from PR #1533 and made
assumptions that Python 2.7 would be available. In case of CentOS, python 2.7
may not be available or installed. This change ensures that python-argparse
is installed which is used by this script.

/cc @wido @sverrirab @karuturi @jburwell

@blueorangutan package

* pr/1634:
  CLOUDSTACK-9452: add python-argparse dependency on el6,7 rpms

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-24 12:14:02 +05:30
Rohit Yadav 7530f4b6dd CLOUDSTACK-9466: Fix fk constraint failure in upgrade path
In the 4.1.0-4.2.0 db upgrade path, it creates new tables to store secondary
(nfs) storage in image_store table and volumes in volume_store_ref table. In
the upgrade path, it first tries to migrate NFS storage pool where it excludes
storage pools which have been removed, but it migrates all the volumes without
checking if their storage pools have been removed. This causes fk constraint
failure as the volume/row being inserted refers to a storage pool which does
not exist in the image_store table.

The fix migrates all the nfs storage pools to image_store including removed
storage pools and in doing so migrates with the 'removed' field. This fixes
db upgrade for old pre-4.0 and 4.0/4.1 CloudStack clouds.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-24 12:03:46 +05:30
Rohit Yadav 8cd44b1684 CLOUDSTACK-9467: Add symlink to key file for usage server
On fresh installation, the usage server fails to start if the `key` file does
not exist in its classpath. The issue is reproducible in environments where
the usage server is installed before cloudstack-setup-databases has been called.
Before the cloudstack db has been setup, the key file does not exist at its
default location and installation of usage-server fails to add a symlink to the
key file.

This fix adds a default symlink to `/etc/cloudstack/management/key` if a
symlink/file does not already exist in the /etc/cloudstack/usage directory.

On new installation, in the post-installation steps it checks if the symlink
or file exists, and adds a symlink if it does not exist. On existing
installations, if symlink or file exists then it will skip adding symlink.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-23 17:20:41 +05:30
Rohit Yadav 11c90dfb3b Merge pull request #1599 from shapeblue/independent-marvin
Marvin: Fix codegenerator to work with API discoveryThis fixes Marvin cloudstackAPI generator to work with a live running mgmt server's api discovery.

* pr/1599:
  marvin: fix codegeneration against API discovery endpoint

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-23 15:35:52 +05:30
Rohit Yadav 157b8147b9 test/integration: fix tearDown order in list_acl_ tests
In several of the list_acl_tests, the tests run for simulator only where
in the (class) setup domains and accounts are created for the test. When the
tests end the (class) teardown methods would delete and remove these resources.
Due to dependence of one of the resources on the other, domain2 on domain1,
domain2 needs to be removed/cleaned up before domain1. Due to this issue,
several Travis test runs have failed in the past such as:

https://travis-ci.org/apache/cloudstack/jobs/152610967
https://travis-ci.org/apache/cloudstack/jobs/152610968

Changing the order of cleanup fixes the tests.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-23 14:49:21 +05:30
Rohit Yadav 9555492b4d Merge branch '4.9' 2016-08-23 14:16:53 +05:30
Rohit Yadav e49ca1ecd2 Merge pull request #1646 from shapeblue/4.9-491upgradepath
[4.9/LTS] Add upgrade path from 4.9.0 to 4.9.1, change version to 4.9.1.0-SNAPSHOTThis adds db upgrade path from 4.9.0 to 4.9.1 and fixes a typo in default user role description (CLOUDSTACK-9449)

/cc @karuturi @jburwell  -- this will cause issues when fwd-merged to master, I can do the fwd-merging if you would like to avoid fixing the conflicts yourself

@blueorangutan package

* pr/1646:
  Updating pom.xml version numbers for release 4.9.1.0-SNAPSHOT
  cloudstack: upgrade path from 4.9.0 to 4.9.1

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-23 13:48:30 +05:30
Milamber 6df5df5694 Fix a quote issue with Spanish L10N (from transifex translation) 2016-08-23 06:36:42 +01:00
Rohit Yadav b175364327 Merge pull request #1630 from pdion891/projectid
Add projectid to project details pageDisplay the project ID on the details view of a project.

* pr/1630:
  Add to project detail page: cpu,memory,template,storage and VMs count
  add projectid to project details page

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-22 16:48:08 +05:30
Rohit Yadav 3c2e8b9294 Merge branch '4.9' 2016-08-22 16:36:24 +05:30
Rohit Yadav cc0e2a6b06 Merge pull request #1649 from shapeblue/4.9-upgraderolescriptfix
CLOUDSTACK-9463: Fix dynamic-roles migrate script for old formatThe old commands.properties format included the full class name such as:

createAccount=com.cloud.api.commands.CreateAccountCmd;1

The migration script did not consider this format and fails. With this fix
the migration script will process both the formats, including processing a
commands.properties file with mixed format, for example:

    $ cat commands.properties
    ### Account commands
    createAccount=1
    deleteAccount=2
    markDefaultZoneForAccount=com.cloud.api.commands.MarkDefaultZoneForAccountCmd;3

    $ python scripts/util/migrate-dynamicroles.py -d -f commands.properties
    Apache CloudStack Role Permission Migration Tool
    (c) Apache CloudStack Authors and the ASF, under the Apache License, Version 2.0

    Running this migration tool will remove any default-role permissions from cloud.role_permissions. Do you want to continue? [y/N]y
    The commands.properties file has been deprecated and moved at: commands.properties.deprecated
    Running SQL query: DELETE FROM `cloud`.`role_permissions` WHERE `role_id` in (1,2,3,4);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 1, '*', 'ALLOW', 0);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2, 'deleteAccount', 'ALLOW', 0);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2, 'markDefaultZoneForAccount', 'ALLOW', 1);
    Static role permissions from commands.properties have been migrated into the db
    Running SQL query: UPDATE `cloud`.`configuration` SET value='true' where name='dynamic.apichecker.enabled'
    Dynamic role based API checker has been enabled!

/cc @jburwell @karuturi @PaulAngus

Since we don't have any upgrade/marvin tests for this, the changes have been verified with above test as the script works against a commands.properties. A manual verification by anyone else would be required to validate the changes.

* pr/1649:
  CLOUDSTACK-9463: Fix dynamic-roles migrate script for old format

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-22 16:35:51 +05:30
Rohit Yadav b6bf093a31 Merge branch '4.9' 2016-08-22 15:55:10 +05:30
Rohit Yadav 1060dc47e5 Merge pull request #1620 from shapeblue/4.9-oobm-password-fix
oobm: simply change password transactional logic- Simplifies change password transactional logic without using pessmistic locks
- Adds a re-enter password field in the UI to valid ipmi/oobm password

* pr/1620:
  oobm: simply change password transactional logic

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-22 15:52:14 +05:30
Rohit Yadav db384127a7 Merge branch '4.9' 2016-08-22 14:20:57 +05:30
Rohit Yadav b7f1ba944b Merge pull request #1641 from shapeblue/upgrade_fix
CLOUDSTACK-9459: the try's catch block was shortening the preparedstatement's lifethe try's catch block was shortening the preparedstatement's life resulting in bad resultset when used outside of try catch.

* pr/1641:
  CLOUDSTACK-9459: the try's catch block was shortening the preparedstatement life resulting in bad resultset when used outside of try catch.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-22 14:16:26 +05:30
Rohit Yadav f699fd4a15 CLOUDSTACK-9463: Fix dynamic-roles migrate script for old format
The old commands.properties format included the full class name such as:

createAccount=com.cloud.api.commands.CreateAccountCmd;1

The migration script did not consider this format and fails. With this fix
the migration script will process both the formats, including processing a
commands.properties file with mixed format, for example:

    $ cat commands.properties
    ### Account commands
    createAccount=1
    deleteAccount=2
    markDefaultZoneForAccount=com.cloud.api.commands.MarkDefaultZoneForAccountCmd;3

    $ python scripts/util/migrate-dynamicroles.py -d -f commands.properties
    Apache CloudStack Role Permission Migration Tool
    (c) Apache CloudStack Authors and the ASF, under the Apache License, Version 2.0

    Running this migration tool will remove any default-role permissions from cloud.role_permissions. Do you want to continue? [y/N]y
    The commands.properties file has been deprecated and moved at: commands.properties.deprecated
    Running SQL query: DELETE FROM `cloud`.`role_permissions` WHERE `role_id` in (1,2,3,4);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 1, '*', 'ALLOW', 0);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2, 'deleteAccount', 'ALLOW', 0);
    Running SQL query: INSERT INTO `cloud`.`role_permissions` (`uuid`, `role_id`, `rule`, `permission`, `sort_order`) values (UUID(), 2, 'markDefaultZoneForAccount', 'ALLOW', 1);
    Static role permissions from commands.properties have been migrated into the db
    Running SQL query: UPDATE `cloud`.`configuration` SET value='true' where name='dynamic.apichecker.enabled'
    Dynamic role based API checker has been enabled!

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 17:33:07 +05:30
Rohit Yadav f13c224da1 Updating pom.xml version numbers for release 4.9.1.0-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:53:39 +05:30
Rohit Yadav b87eda230a cloudstack: upgrade path from 4.9.0 to 4.9.1
- Adds db upgrade path from 4.9.0 to 4.9.1
- CLOUDSTACK-9449: Fix typo in default user role description

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:53:15 +05:30
Rohit Yadav 7a53feee22 marvin: fix codegeneration against API discovery endpoint
This makes the commands.xml based codegeneration equivalent to the
API discovery end point based discovery.

This fixes the fields that the (api discovery based) codegenerator should
produce in the generated python classes (cmd and response classes per
api/module). The issue was that the autogenerated cloudstackAPI differed between
api-based and apidocs-based code generation. With this fix the generated classes
match exactly thereby allowing us to go with either methods to generate
cloudstackAPI.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:43:48 +05:30
Abhinandan Prateek a2fcc65d90 CLOUDSTACK-9459: the try's catch block was shortening the preparedstatement life
resulting in bad resultset when used outside of try catch.
2016-08-16 14:19:07 +05:30
Rajani Karuturi d3e45515ee Merge pull request #1628 from karuturi/patch-1
updated contributing.mdAs this is the doc that is showed while creating a pull request, updated it with information from release principles wiki.

* pr/1628:
  updated contributin.md

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-08-16 13:54:24 +05:30
Will Stevens 740bd45be6 Updating pom.xml version numbers for release 4.8.2-SNAPSHOT
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-15 10:31:09 -04:00
Will Stevens 007c9f0d3a Merge branch '4.8.1-RC20160808T1006' into 4.8 2016-08-15 10:28:33 -04:00
Rohit Yadav 7b8ba24c64 CLOUDSTACK-9452: add python-argparse dependency on el6,7 rpms
The patchviasocket script was rewritten in Python from PR #1533 and made
assumptions that Python 2.7 would be available. In case of CentOS, python 2.7
may not be available or installed. This change ensures that python-argparse
is installed which is used by this script.

Expose cmd error in the logs when patch command fails.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-10 16:25:17 +05:30
Rajani Karuturi 56a3526502 Merge release branch 4.9 to master
* 4.9:
  CLOUDSTACK-9447: fix build and upgrade to debian 7.11 iso
2016-08-09 15:51:15 +05:30
Rajani Karuturi bdc409c7a2 Merge pull request #1626 from shapeblue/systemvmtemplate-4dot9
[blocker] Fix systemvm template buildPrevious PR: https://github.com/apache/cloudstack/pull/1531

Fixes failing systemvmtemplate build.

* pr/1626:
  CLOUDSTACK-9447: fix build and upgrade to debian 7.11 iso

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-08-09 15:49:04 +05:30
Pierre-Luc Dion 3cc3aea449 Add to project detail page: cpu,memory,template,storage and VMs count 2016-08-08 20:04:55 -04:00
Will Stevens a63db21d16 Updating pom.xml version numbers for release 4.8.1
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-08 10:06:21 -04:00
Rajani Karuturi 3afedbb24f Merge pull request #1631 from karuturi/merge-49-to-master-deb-build
Fix debian build error due to commit 3315eb5debian build is broken due to the changelog changes in commit 3315eb5. Fixed the same.
To test, do a debian following the instructions at http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.8/building_from_source.html#building-deb-packages

cc: @pdion891 @rhtyd Please review.

* pr/1631:
  Fix debian build error due to commit 3315eb5420

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-08-08 16:47:09 +05:30
Rajani Karuturi d87828af24 Fix debian build error due to commit 3315eb5420 2016-08-08 15:02:03 +05:30
Pierre-Luc Dion 98228c5fb1 add projectid to project details page 2016-08-06 14:38:20 -04:00
Rajani Karuturi 4c387feebb updated contributin.md
As this is the doc that is showed while creating a pull request, updated it with information from release principles wiki.
2016-08-05 15:06:52 +05:30
Rajani Karuturi 2875af7112 Merge release branch 4.9 to master
* 4.9:
  server: give more memory to tests
  packaging: Marvin and integration-tests packages
2016-08-05 14:41:31 +05:30