settingsLogin | Registersettings

[openstack-dev] [Sahara][QA] Notes about the move of the Sahara Tempest API test to sahara-tests

0 votes

Hi,

as discussed in the last (two) Sahara meetings, I'm working on moving the Tempest API tests from the Tempest repository to the new sahara-tests repository, which contains only (non-tempest) scenario tests and it's branchless as well.
The move is a natural consequence of the Tempest focus on the "core six" (removing the burden of additional reviews from core Tempest), and of the existence of the Tempest Plugin interface.

So far, nothing new. The difference from that past is that I'd like to keep the history of the imported code.

I've the feeling that there is a bit of resistance to the idea of importing the history, but talking around it seems that it is feasible. It requires few additional steps, which I'm going to describe here for the posterity and to gather feedback, and which I'm going to execute in the next days if there are no blocking concerns.

== Extract tempest/api/data_processing from Tempest and filter it
Easy with git-split (https://github.com/ajdruff/git-splits, thanks Evgeny Sikachev) and a bit of cleanup (removal of the first empty commit with git rebase -i --root). This code should then be merged in a detached branch of sahara-tests (created with git checkout --orphan <branch>).
-> See a preview here: https://github.com/ltoscano-rh/sahara-tests/commits/tempest-sahara-api

== Push the sanitized history to a detached branch of sahara-tests
It's really two substeps:

= Temporarily exclude a specific branch from the CI
Change to openstack-infra/project-config and openstack/sahara-ci-config
-> Requires reviews from infra and Sahara cores

= Merge the content of the imported, detached branch to sahara-tests
Ninja-approval of all the commits of the imported branch (38 commits). Without tests and use of tools like gertty it can be fast.
-> It will require the help of a (patient) Sahara core, but I think I could volunteer some of them :)

== Merge the imported branch into sahara-tests master
Again, two substeps:

= Change the ACLs for sahara-tests to allow a merge commit
-> Requires review from infra (project-config, gerrit/acls)

= Push the merge commit of the imported branch to sahara-tests master to gerrit
Preview available here: https://github.com/ltoscano-rh/sahara-tests/commits/master
-> Requires normal review from Sahara cores.

== Adapt the imported code to use the Tempest Plugin interface
Preview available here: https://github.com/ltoscano-rh/sahara-tests/commits/tempestapi-intree
-> Requires normal review from Sahara cores.

== Undo all the temporarily hacks introduced before
-> Requires normal review from Sahara cores.

I hope that it could be useful.

--
Luigi


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
asked Mar 21, 2016 in openstack-dev by Luigi_Toscano (1,700 points)   1 2

4 Responses

0 votes

Hi, Luigi!

Thanks for this short spec :)
Changes looking good for me, and I think Sahara-team can help with pushing
this changes to sahara-tests repo.

But I have a question: why we need to use detached branch for it? And then
we have the next problem "Temporarily exclude a specific branch from the
CI". Maybe force push can be easier and faster?

On Mon, Mar 21, 2016 at 4:07 AM, Luigi Toscano ltoscano@redhat.com wrote:

Hi,

as discussed in the last (two) Sahara meetings, I'm working on moving the
Tempest API tests from the Tempest repository to the new sahara-tests
repository, which contains only (non-tempest) scenario tests and it's
branchless as well.
The move is a natural consequence of the Tempest focus on the "core six"
(removing the burden of additional reviews from core Tempest), and of the
existence of the Tempest Plugin interface.

So far, nothing new. The difference from that past is that I'd like to
keep the history of the imported code.

I've the feeling that there is a bit of resistance to the idea of
importing the history, but talking around it seems that it is feasible. It
requires few additional steps, which I'm going to describe here for the
posterity and to gather feedback, and which I'm going to execute in the
next days if there are no blocking concerns.

== Extract tempest/api/data_processing from Tempest and filter it
Easy with git-split (https://github.com/ajdruff/git-splits, thanks Evgeny
Sikachev) and a bit of cleanup (removal of the first empty commit with git rebase -i --root). This code should then be merged in a detached branch of
sahara-tests (created with git checkout --orphan <branch>).
-> See a preview here:
https://github.com/ltoscano-rh/sahara-tests/commits/tempest-sahara-api

== Push the sanitized history to a detached branch of sahara-tests
It's really two substeps:

= Temporarily exclude a specific branch from the CI
Change to openstack-infra/project-config and openstack/sahara-ci-config
-> Requires reviews from infra and Sahara cores

= Merge the content of the imported, detached branch to sahara-tests
Ninja-approval of all the commits of the imported branch (38 commits).
Without tests and use of tools like gertty it can be fast.
-> It will require the help of a (patient) Sahara core, but I think I
could volunteer some of them :)

== Merge the imported branch into sahara-tests master
Again, two substeps:

= Change the ACLs for sahara-tests to allow a merge commit
-> Requires review from infra (project-config, gerrit/acls)

= Push the merge commit of the imported branch to sahara-tests master to
gerrit
Preview available here:
https://github.com/ltoscano-rh/sahara-tests/commits/master
-> Requires normal review from Sahara cores.

== Adapt the imported code to use the Tempest Plugin interface
Preview available here:
https://github.com/ltoscano-rh/sahara-tests/commits/tempestapi-intree
-> Requires normal review from Sahara cores.

== Undo all the temporarily hacks introduced before
-> Requires normal review from Sahara cores.

I hope that it could be useful.

--
Luigi


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

--


Best Regards,

Evgeny Sikachev
QA Engineer
Mirantis, Inc


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Mar 21, 2016 by Evgeny_Sikachev (240 points)  
0 votes

On Monday 21 of March 2016 10:50:30 Evgeny Sikachev wrote:
Hi, Luigi!

Thanks for this short spec :)
Changes looking good for me, and I think Sahara-team can help with pushing
this changes to sahara-tests repo.

But I have a question: why we need to use detached branch for it?
A branch with no parent, as it's history is totally detached from the existing
code. The merge makes the two branches converge. You can see it in the graph
of the history on my work repository:
https://github.com/ltoscano-rh/sahara-tests/commits/master
And then
we have the next problem "Temporarily exclude a specific branch from the
CI". Maybe force push can be easier and faster?

In my understanding, force push was totally ruled out by Infra.

Ciao
--
Luigi


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Mar 21, 2016 by Luigi_Toscano (1,700 points)   1 2
0 votes

Thanks Luigi,

sounds good to me. I'll be happy to help with reviews/approvals as
needed.

Trevor

On Mon, 2016-03-21 at 12:05 +0100, Luigi Toscano wrote:
On Monday 21 of March 2016 10:50:30 Evgeny Sikachev wrote:

Hi, Luigi!

Thanks for this short spec :)
Changes looking good for me, and I think Sahara-team can help with pushing
this changes to sahara-tests repo.

But I have a question: why we need to use detached branch for it?
A branch with no parent, as it's history is totally detached from the existing
code. The merge makes the two branches converge. You can see it in the graph
of the history on my work repository:
https://github.com/ltoscano-rh/sahara-tests/commits/master
And then
we have the next problem "Temporarily exclude a specific branch from the
CI". Maybe force push can be easier and faster?

In my understanding, force push was totally ruled out by Infra.

Ciao


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Mar 22, 2016 by Trevor_McKay (2,120 points)   3 7
0 votes

On Sunday 20 of March 2016 21:07:06 Luigi Toscano wrote:
Hi,

Small update on the plan:

as discussed in the last (two) Sahara meetings, I'm working on moving the
Tempest API tests from the Tempest repository to the new sahara-tests
repository, which contains only (non-tempest) scenario tests and it's
branchless as well. The move is a natural consequence of the Tempest focus
on the "core six" (removing the burden of additional reviews from core
Tempest), and of the existence of the Tempest Plugin interface.

A temporary change was just merged (thanks Infra) which also disable tests for
sahara-tests, so
Please don't merge anything into sahara-tests for now

We are more or less here:

[...]

== Extract tempest/api/data_processing from Tempest and filter it
Easy with git-split (https://github.com/ajdruff/git-splits, thanks Evgeny
Sikachev) and a bit of cleanup (removal of the first empty commit with git rebase -i --root). This code should then be merged in a detached branch of
sahara-tests (created with git checkout --orphan <branch>). -> See a
preview here:
https://github.com/ltoscano-rh/sahara-tests/commits/tempest-sahara-api

== Push the sanitized history to a detached branch of sahara-tests
It's really two substeps:

= Temporarily exclude a specific branch from the CI
Change to openstack-infra/project-config and openstack/sahara-ci-config
-> Requires reviews from infra and Sahara cores

Now the only member of sahara-(tests-)release, Sergey Lukjanov (Vitaly should
be in the group too maybe), should kindly create an orphan branch (git
checkout --orphan ) in the sahara-test repository, so that we can send
to gerrit the imported commits.

Ciao
--
Luigi


OpenStack Development Mailing List (not for usage questions)
Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
responded Mar 31, 2016 by Luigi_Toscano (1,700 points)   1 2
...